├── .github └── workflows │ ├── build-src.yml │ └── style.yaml ├── .gitignore ├── .vscode └── settings.json ├── CMakeLists.txt ├── CONTRIBUTING.md ├── Makefile ├── OWNERS ├── README.md ├── README_CN.md ├── dockerfiles └── Dockerfile ├── docs └── images │ ├── hami-arch.png │ ├── hami-core-arch.png │ ├── hami-core-position.png │ └── sample_nvidia-smi.png ├── src ├── CMakeLists.txt ├── allocator │ ├── CMakeLists.txt │ ├── allocator.c │ └── allocator.h ├── cuda │ ├── CMakeLists.txt │ ├── context.c │ ├── device.c │ ├── event.c │ ├── graph.c │ ├── hook.c │ ├── memory.c │ └── stream.c ├── include │ ├── cuda_addition_func.h.unused │ ├── libcuda_hook.h │ ├── libnvml_hook.h │ ├── libvgpu.h │ ├── log_utils.h │ ├── memory_limit.h │ ├── multi_func_hook.h │ ├── nvml-subset.h │ ├── nvml_override.h │ ├── nvml_prefix.h │ ├── process_utils.h │ └── utils.h ├── libvgpu.c ├── multiprocess │ ├── CMakeLists.txt │ ├── common_header.h │ ├── multiprocess_memory_limit.c │ ├── multiprocess_memory_limit.h │ ├── multiprocess_utilization_watcher.c │ ├── multiprocess_utilization_watcher.h │ └── shrreg_tool.c ├── nvml │ ├── CMakeLists.txt │ ├── hook.c │ └── nvml_entry.c ├── static_config.h.in └── utils.c └── test ├── CMakeLists.txt ├── python ├── limit_mxnet.py ├── limit_pytorch.py ├── limit_tensorflow.py └── limit_tensorflow2.py ├── test_alloc.c ├── test_alloc_hold.c ├── test_alloc_host.c ├── test_alloc_managed.c ├── test_alloc_pitch.c ├── test_create_3d_array.c ├── test_create_array.c ├── test_host_alloc.c ├── test_host_register.c ├── test_runtime_alloc.c ├── test_runtime_alloc_host.c ├── test_runtime_alloc_managed.c ├── test_runtime_host_alloc.c ├── test_runtime_host_register.c ├── test_runtime_launch.cu └── test_utils.h /.github/workflows/build-src.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/.github/workflows/build-src.yml -------------------------------------------------------------------------------- /.github/workflows/style.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/.github/workflows/style.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/Makefile -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/OWNERS -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/README.md -------------------------------------------------------------------------------- /README_CN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/README_CN.md -------------------------------------------------------------------------------- /dockerfiles/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/dockerfiles/Dockerfile -------------------------------------------------------------------------------- /docs/images/hami-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/docs/images/hami-arch.png -------------------------------------------------------------------------------- /docs/images/hami-core-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/docs/images/hami-core-arch.png -------------------------------------------------------------------------------- /docs/images/hami-core-position.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/docs/images/hami-core-position.png -------------------------------------------------------------------------------- /docs/images/sample_nvidia-smi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/docs/images/sample_nvidia-smi.png -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/CMakeLists.txt -------------------------------------------------------------------------------- /src/allocator/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/allocator/CMakeLists.txt -------------------------------------------------------------------------------- /src/allocator/allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/allocator/allocator.c -------------------------------------------------------------------------------- /src/allocator/allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/allocator/allocator.h -------------------------------------------------------------------------------- /src/cuda/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/CMakeLists.txt -------------------------------------------------------------------------------- /src/cuda/context.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/context.c -------------------------------------------------------------------------------- /src/cuda/device.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/device.c -------------------------------------------------------------------------------- /src/cuda/event.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/event.c -------------------------------------------------------------------------------- /src/cuda/graph.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/graph.c -------------------------------------------------------------------------------- /src/cuda/hook.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/hook.c -------------------------------------------------------------------------------- /src/cuda/memory.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/memory.c -------------------------------------------------------------------------------- /src/cuda/stream.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/cuda/stream.c -------------------------------------------------------------------------------- /src/include/cuda_addition_func.h.unused: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/cuda_addition_func.h.unused -------------------------------------------------------------------------------- /src/include/libcuda_hook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/libcuda_hook.h -------------------------------------------------------------------------------- /src/include/libnvml_hook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/libnvml_hook.h -------------------------------------------------------------------------------- /src/include/libvgpu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/libvgpu.h -------------------------------------------------------------------------------- /src/include/log_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/log_utils.h -------------------------------------------------------------------------------- /src/include/memory_limit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/memory_limit.h -------------------------------------------------------------------------------- /src/include/multi_func_hook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/multi_func_hook.h -------------------------------------------------------------------------------- /src/include/nvml-subset.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/nvml-subset.h -------------------------------------------------------------------------------- /src/include/nvml_override.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/nvml_override.h -------------------------------------------------------------------------------- /src/include/nvml_prefix.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/nvml_prefix.h -------------------------------------------------------------------------------- /src/include/process_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/process_utils.h -------------------------------------------------------------------------------- /src/include/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/include/utils.h -------------------------------------------------------------------------------- /src/libvgpu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/libvgpu.c -------------------------------------------------------------------------------- /src/multiprocess/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/CMakeLists.txt -------------------------------------------------------------------------------- /src/multiprocess/common_header.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/common_header.h -------------------------------------------------------------------------------- /src/multiprocess/multiprocess_memory_limit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/multiprocess_memory_limit.c -------------------------------------------------------------------------------- /src/multiprocess/multiprocess_memory_limit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/multiprocess_memory_limit.h -------------------------------------------------------------------------------- /src/multiprocess/multiprocess_utilization_watcher.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/multiprocess_utilization_watcher.c -------------------------------------------------------------------------------- /src/multiprocess/multiprocess_utilization_watcher.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/multiprocess_utilization_watcher.h -------------------------------------------------------------------------------- /src/multiprocess/shrreg_tool.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/multiprocess/shrreg_tool.c -------------------------------------------------------------------------------- /src/nvml/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/nvml/CMakeLists.txt -------------------------------------------------------------------------------- /src/nvml/hook.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/nvml/hook.c -------------------------------------------------------------------------------- /src/nvml/nvml_entry.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/nvml/nvml_entry.c -------------------------------------------------------------------------------- /src/static_config.h.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/static_config.h.in -------------------------------------------------------------------------------- /src/utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/src/utils.c -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/python/limit_mxnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/python/limit_mxnet.py -------------------------------------------------------------------------------- /test/python/limit_pytorch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/python/limit_pytorch.py -------------------------------------------------------------------------------- /test/python/limit_tensorflow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/python/limit_tensorflow.py -------------------------------------------------------------------------------- /test/python/limit_tensorflow2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/python/limit_tensorflow2.py -------------------------------------------------------------------------------- /test/test_alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_alloc.c -------------------------------------------------------------------------------- /test/test_alloc_hold.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_alloc_hold.c -------------------------------------------------------------------------------- /test/test_alloc_host.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_alloc_host.c -------------------------------------------------------------------------------- /test/test_alloc_managed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_alloc_managed.c -------------------------------------------------------------------------------- /test/test_alloc_pitch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_alloc_pitch.c -------------------------------------------------------------------------------- /test/test_create_3d_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_create_3d_array.c -------------------------------------------------------------------------------- /test/test_create_array.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_create_array.c -------------------------------------------------------------------------------- /test/test_host_alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_host_alloc.c -------------------------------------------------------------------------------- /test/test_host_register.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_host_register.c -------------------------------------------------------------------------------- /test/test_runtime_alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_runtime_alloc.c -------------------------------------------------------------------------------- /test/test_runtime_alloc_host.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_runtime_alloc_host.c -------------------------------------------------------------------------------- /test/test_runtime_alloc_managed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_runtime_alloc_managed.c -------------------------------------------------------------------------------- /test/test_runtime_host_alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_runtime_host_alloc.c -------------------------------------------------------------------------------- /test/test_runtime_host_register.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_runtime_host_register.c -------------------------------------------------------------------------------- /test/test_runtime_launch.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_runtime_launch.cu -------------------------------------------------------------------------------- /test/test_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Project-HAMi/HAMi-core/HEAD/test/test_utils.h --------------------------------------------------------------------------------