Added H100 support for CUDA 11.8 precompiled binaries.
This commit is contained in:
parent
817bdf6325
commit
7b6cfe1738
|
@ -258,3 +258,9 @@ Bug fixes:
|
||||||
|
|
||||||
Deprecated:
|
Deprecated:
|
||||||
- Binaries for CUDA 11.2, 11.6 no longer ship with `pip install bitsandbytes` and need to be compiled from source.
|
- Binaries for CUDA 11.2, 11.6 no longer ship with `pip install bitsandbytes` and need to be compiled from source.
|
||||||
|
|
||||||
|
|
||||||
|
### 0.40.1
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Added precompiled CUDA 11.8 binaries to support H100 GPUs without compilation #571
|
||||||
|
|
10
Makefile
10
Makefile
|
@ -80,6 +80,11 @@ cuda11x_nomatmul: $(BUILD_DIR) env
|
||||||
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
||||||
$(GPP) -std=c++14 -DBUILD_CUDA -shared -fPIC $(INCLUDE) $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o $(BUILD_DIR)/link.o $(FILES_CPP) -o ./bitsandbytes/libbitsandbytes_cuda$(CUDA_VERSION)_nocublaslt.so $(LIB)
|
$(GPP) -std=c++14 -DBUILD_CUDA -shared -fPIC $(INCLUDE) $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o $(BUILD_DIR)/link.o $(FILES_CPP) -o ./bitsandbytes/libbitsandbytes_cuda$(CUDA_VERSION)_nocublaslt.so $(LIB)
|
||||||
|
|
||||||
|
cuda118_nomatmul: $(BUILD_DIR) env
|
||||||
|
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' --use_fast_math -Xptxas=-v -dc $(FILES_CUDA) $(INCLUDE) $(LIB) --output-directory $(BUILD_DIR) -D NO_CUBLASLT
|
||||||
|
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
||||||
|
$(GPP) -std=c++14 -DBUILD_CUDA -shared -fPIC $(INCLUDE) $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o $(BUILD_DIR)/link.o $(FILES_CPP) -o ./bitsandbytes/libbitsandbytes_cuda$(CUDA_VERSION)_nocublaslt.so $(LIB)
|
||||||
|
|
||||||
cuda12x_nomatmul: $(BUILD_DIR) env
|
cuda12x_nomatmul: $(BUILD_DIR) env
|
||||||
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' --use_fast_math -Xptxas=-v -dc $(FILES_CUDA) $(INCLUDE) $(LIB) --output-directory $(BUILD_DIR) -D NO_CUBLASLT
|
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' --use_fast_math -Xptxas=-v -dc $(FILES_CUDA) $(INCLUDE) $(LIB) --output-directory $(BUILD_DIR) -D NO_CUBLASLT
|
||||||
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
$(NVCC) $(COMPUTE_CAPABILITY) $(CC_CUDA11x) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
||||||
|
@ -95,6 +100,11 @@ cuda11x: $(BUILD_DIR) env
|
||||||
$(NVCC) $(CC_cublasLt111) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
$(NVCC) $(CC_cublasLt111) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
||||||
$(GPP) -std=c++14 -DBUILD_CUDA -shared -fPIC $(INCLUDE) $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o $(BUILD_DIR)/link.o $(FILES_CPP) -o ./bitsandbytes/libbitsandbytes_cuda$(CUDA_VERSION).so $(LIB)
|
$(GPP) -std=c++14 -DBUILD_CUDA -shared -fPIC $(INCLUDE) $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o $(BUILD_DIR)/link.o $(FILES_CPP) -o ./bitsandbytes/libbitsandbytes_cuda$(CUDA_VERSION).so $(LIB)
|
||||||
|
|
||||||
|
cuda118: $(BUILD_DIR) env
|
||||||
|
$(NVCC) $(CC_cublasLt111) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' --use_fast_math -Xptxas=-v -dc $(FILES_CUDA) $(INCLUDE) $(LIB) --output-directory $(BUILD_DIR)
|
||||||
|
$(NVCC) $(CC_cublasLt111) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
||||||
|
$(GPP) -std=c++14 -DBUILD_CUDA -shared -fPIC $(INCLUDE) $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o $(BUILD_DIR)/link.o $(FILES_CPP) -o ./bitsandbytes/libbitsandbytes_cuda$(CUDA_VERSION).so $(LIB)
|
||||||
|
|
||||||
cuda12x: $(BUILD_DIR) env
|
cuda12x: $(BUILD_DIR) env
|
||||||
$(NVCC) $(CC_cublasLt111) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' --use_fast_math -Xptxas=-v -dc $(FILES_CUDA) $(INCLUDE) $(LIB) --output-directory $(BUILD_DIR)
|
$(NVCC) $(CC_cublasLt111) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' --use_fast_math -Xptxas=-v -dc $(FILES_CUDA) $(INCLUDE) $(LIB) --output-directory $(BUILD_DIR)
|
||||||
$(NVCC) $(CC_cublasLt111) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
$(NVCC) $(CC_cublasLt111) $(CC_ADA_HOPPER) -Xcompiler '-fPIC' -dlink $(BUILD_DIR)/ops.o $(BUILD_DIR)/kernels.o -o $(BUILD_DIR)/link.o
|
||||||
|
|
138
deploy.sh
138
deploy.sh
|
@ -10,77 +10,77 @@ if [[ ! -z "${LD_LIBRARY_PATH}" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
#module unload cuda && echo "no module function available. Probably not on a slurm cluster."
|
module unload cuda && echo "no module function available. Probably not on a slurm cluster."
|
||||||
#module unload gcc && echo "no module function available. Probably not on a slurm cluster."
|
module unload gcc && echo "no module function available. Probably not on a slurm cluster."
|
||||||
#
|
|
||||||
#rm -rf dist build
|
rm -rf dist build
|
||||||
#make cleaneggs
|
make cleaneggs
|
||||||
#make cleanlibs
|
make cleanlibs
|
||||||
#
|
|
||||||
#make clean
|
make clean
|
||||||
#export CUDA_HOME=
|
export CUDA_HOME=
|
||||||
#export CUDA_VERSION=
|
export CUDA_VERSION=
|
||||||
#make cpuonly CUDA_VERSION="CPU"
|
make cpuonly CUDA_VERSION="CPU"
|
||||||
#
|
|
||||||
#if [ ! -f "./bitsandbytes/libbitsandbytes_cpu.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cpu.so" ]; then
|
||||||
# # Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
# echo "Compilation unsuccessul!" 1>&2
|
echo "Compilation unsuccessul!" 1>&2
|
||||||
# exit 64
|
exit 64
|
||||||
#fi
|
fi
|
||||||
#
|
|
||||||
#make clean
|
make clean
|
||||||
#export CUDA_HOME=$BASE_PATH/cuda-11.0
|
export CUDA_HOME=$BASE_PATH/cuda-11.0
|
||||||
#make cuda110 CUDA_VERSION=110
|
make cuda110 CUDA_VERSION=110
|
||||||
#
|
|
||||||
#if [ ! -f "./bitsandbytes/libbitsandbytes_cuda110.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda110.so" ]; then
|
||||||
# # Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
# echo "Compilation unsuccessul!" 1>&2
|
echo "Compilation unsuccessul!" 1>&2
|
||||||
# exit 64
|
exit 64
|
||||||
#fi
|
fi
|
||||||
#
|
|
||||||
#make clean
|
make clean
|
||||||
#export CUDA_HOME=$BASE_PATH/cuda-11.1
|
export CUDA_HOME=$BASE_PATH/cuda-11.1
|
||||||
#make cuda11x CUDA_VERSION=111
|
make cuda11x CUDA_VERSION=111
|
||||||
#
|
|
||||||
#if [ ! -f "./bitsandbytes/libbitsandbytes_cuda111.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda111.so" ]; then
|
||||||
# # Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
# echo "Compilation unsuccessul!" 1>&2
|
echo "Compilation unsuccessul!" 1>&2
|
||||||
# exit 64
|
exit 64
|
||||||
#fi
|
fi
|
||||||
#
|
|
||||||
#make clean
|
make clean
|
||||||
#export CUDA_HOME=$BASE_PATH/cuda-11.4
|
export CUDA_HOME=$BASE_PATH/cuda-11.4
|
||||||
#make cuda11x CUDA_VERSION=114
|
make cuda11x CUDA_VERSION=114
|
||||||
#
|
|
||||||
#if [ ! -f "./bitsandbytes/libbitsandbytes_cuda114.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda114.so" ]; then
|
||||||
# # Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
# echo "Compilation unsuccessul!" 1>&2
|
echo "Compilation unsuccessul!" 1>&2
|
||||||
# exit 64
|
exit 64
|
||||||
#fi
|
fi
|
||||||
#
|
|
||||||
#make clean
|
make clean
|
||||||
#export CUDA_HOME=$BASE_PATH/cuda-11.5
|
export CUDA_HOME=$BASE_PATH/cuda-11.5
|
||||||
#make cuda11x CUDA_VERSION=115
|
make cuda11x CUDA_VERSION=115
|
||||||
#
|
|
||||||
#if [ ! -f "./bitsandbytes/libbitsandbytes_cuda115.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda115.so" ]; then
|
||||||
# # Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
# echo "Compilation unsuccessul!" 1>&2
|
echo "Compilation unsuccessul!" 1>&2
|
||||||
# exit 64
|
exit 64
|
||||||
#fi
|
fi
|
||||||
#
|
|
||||||
#make clean
|
make clean
|
||||||
#export CUDA_HOME=$BASE_PATH/cuda-11.7
|
export CUDA_HOME=$BASE_PATH/cuda-11.7
|
||||||
#make cuda11x CUDA_VERSION=117
|
make cuda11x CUDA_VERSION=117
|
||||||
#
|
|
||||||
#if [ ! -f "./bitsandbytes/libbitsandbytes_cuda117.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda117.so" ]; then
|
||||||
# # Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
# echo "Compilation unsuccessul!" 1>&2
|
echo "Compilation unsuccessul!" 1>&2
|
||||||
# exit 64
|
exit 64
|
||||||
#fi
|
fi
|
||||||
|
|
||||||
make clean
|
make clean
|
||||||
export CUDA_HOME=$BASE_PATH/cuda-11.8
|
export CUDA_HOME=$BASE_PATH/cuda-11.8
|
||||||
make cuda12x CUDA_VERSION=118
|
make cuda118 CUDA_VERSION=118
|
||||||
|
|
||||||
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda118.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda118.so" ]; then
|
||||||
# Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
|
@ -172,7 +172,7 @@ fi
|
||||||
|
|
||||||
make clean
|
make clean
|
||||||
export CUDA_HOME=$BASE_PATH/cuda-11.8
|
export CUDA_HOME=$BASE_PATH/cuda-11.8
|
||||||
make cuda12x_nomatmul CUDA_VERSION=118
|
make cuda118_nomatmul CUDA_VERSION=118
|
||||||
|
|
||||||
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda118_nocublaslt.so" ]; then
|
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda118_nocublaslt.so" ]; then
|
||||||
# Control will enter here if $DIRECTORY doesn't exist.
|
# Control will enter here if $DIRECTORY doesn't exist.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user