-
Notifications
You must be signed in to change notification settings - Fork 37
Build and Install
Nate edited this page Aug 26, 2026
·
11 revisions
Due to limited bandwidth, CUDA-backend pSZ (cuSZ) is the developmental focus.
CUDA GPU architectures (SM version) and representative GPUs.
NVIDIA CUDA architectures, names, and representative GPUs are listed below. For more details, see CUDA GPUs.
| SM id | Arch. | Grade/Segment | GPU product example |
|---|---|---|---|
60 !
|
Pascal | HPC/AI | P100 |
70 !
|
Volta | HPC/AI | V100 |
| 75 | Turing | consumer/professional | 20 series, Quadro RTX |
| 80 | Ampere | HPC/AI | A100 |
| 86 | Ampere | consumer/professional | 30 series, RTX (Ampere) |
89 *
|
Ada | consumer/professional | 40 series, RTX (Ada) |
90 *
|
Hopper | HPC/AI | H100 |
100 **
|
Blackwell | HPC/AI | B100 |
120 **
|
Blackwell | consumer/professional | 50 series, RTX (Blackwell) |
-
!deprecated as of CUDA 12.8 (we no longer actively test them). -
*as of CUDA 11.8 -
**as of CUDA 12.8
Recommended CUDA development environment
- Almost any version of Clang + CUDA toolkit
- selected GCC + CUDA combination:
- GCC: the odd-numbered version is preferred.
- GCC 9 (Ubuntu 20.04), GCC 11 (Ubuntu 22.04), GCC 13 (Ubuntu 24.04), GCC 15 (Ubuntu 26.04)
- GCC 11/13 (depending on the "x" in RHEL 9.x)
- more reference: CUDA compilers, and CUDA architectures & gencode.
- An NVIDIA GPU with CUDA SDK 11.4 onward is the minimum requirement.
- Currently, the development team uses CUDA 13 daily.
- C++17-compliant host compiler
- GCC 9 onward or any version of Clang
- cmake 3.18 onward
The following provides the maximum compatibility for various CUDA GPU architectures (separate multiple SM versions with a semicolon ";"). An unmatched architecture with the target GPU runtime can produce unexpected results. Disabling unnecessary backends once the target SM is determined can speed up the build process. Please refer to the GPU architecture details provided above.
git clone --recursive https://github.com/szcompressor/cuSZ.git cusz-latest
cd cusz-latest && mkdir build && cd build
cmake .. \
-DPSZ_BACKEND=cuda \
-DPSZ_BUILD_EXAMPLES=on \
-DCMAKE_CUDA_ARCHITECTURES="80;86;89;90;100;120" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_COLOR_DIAGNOSTICS=on \
-DCMAKE_INSTALL_PREFIX=[/path/to/install/dir]
make -j
make installBuild for development
If possible, use ninja and Debug mode to speed up the build process.
git clone --recursive -b develop https://github.com/szcompressor/cuSZ.git cusz-dev
cd cusz-dev && mkdir build && cd build
cmake .. \
-DPSZ_BACKEND=cuda \
-DPSZ_BUILD_EXAMPLES=on \
-DCMAKE_CUDA_ARCHITECTURES="75;80;86;89;90;100;120" \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_COLOR_DIAGNOSTICS=on \
-GNinja
ninja
# `ctest` to perform testing(C) 2022 by Indiana University and Argonne National Laboratory. See COPYRIGHT.
- developers: Jiannan Tian, Cody Rivera, Wenyu Gai, Dingwen Tao, Sheng Di, Franck Cappello
- contributors (alphabetic): Jon Calhoun, Megan Hickman Fulp, Xin Liang, Robert Underwood, Kai Zhao
- Special thanks to Dominique LaSalle (NVIDIA) for serving as Mentor in Argonne GPU Hackaton 2021!