CCCL (CUDA C++ Core Libraries) provides: - CUB: device/block/warp-level GPU primitives (reduce, scan, sort, topk) - Thrust: high-level parallel algorithms (transform_reduce, sort, scan) - libcudacxx: CUDA C++ standard library (atomics, barriers, memory) - cudax: experimental features (memory resources, allocators) - Tuning policies: per-SM hardware-specific algorithm parameters Competition optimization vectors mapped to CCCL: - Output TPS (83% weight): warp_reduce, block_reduce, device_topk - Input TPS (14% weight): device_scan, block_load, prefetch - Cache TPS (3% weight): prefix caching strategy patterns - Memory (0.9 util): pooled/cached/buddy allocators Source: https://github.com/NVIDIA/cccl (shallow clone, HEAD only) License: Apache-2.0
27 lines
795 B
Python
27 lines
795 B
Python
#!/usr/bin/env python
|
|
|
|
import hpccm
|
|
|
|
hpccm.config.set_container_format("docker")
|
|
|
|
Stage0 = hpccm.primitives.baseimage(image="nvidia/cuda:12.2.0-devel-ubuntu22.04")
|
|
Stage0 += hpccm.building_blocks.apt_get(
|
|
ospackages=[
|
|
"git",
|
|
"tmux",
|
|
"gcc",
|
|
"g++",
|
|
"vim",
|
|
"python3",
|
|
"python-is-python3",
|
|
"ninja-build",
|
|
]
|
|
)
|
|
# Stage0 += hpccm.building_blocks.llvm(version='15', extra_tools=True, toolset=True)
|
|
Stage0 += hpccm.building_blocks.cmake(eula=True, version="3.26.3")
|
|
# Stage0 += hpccm.building_blocks.nsight_compute(eula=True, version='2023.1.1')
|
|
Stage0 += hpccm.building_blocks.pip(
|
|
packages=["fpzip", "numpy", "pandas", "pynvml"], pip="pip3"
|
|
)
|
|
Stage0 += hpccm.primitives.environment(variables={"CUDA_MODULE_LOADING": "EAGER"})
|