Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
bitsandbytes
Commits
7b6cfe17
Commit
7b6cfe17
authored
Jul 13, 2023
by
Tim Dettmers
Browse files
Added H100 support for CUDA 11.8 precompiled binaries.
parent
817bdf63
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
69 deletions
+85
-69
CHANGELOG.md
CHANGELOG.md
+6
-0
Makefile
Makefile
+10
-0
deploy.sh
deploy.sh
+69
-69
No files found.
CHANGELOG.md
View file @
7b6cfe17
...
...
@@ -258,3 +258,9 @@ Bug fixes:
Deprecated:
-
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
Makefile
View file @
7b6cfe17
...
...
@@ -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
$(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
$(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
...
...
@@ -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
$(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
$(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
...
...
deploy.sh
View file @
7b6cfe17
...
...
@@ -10,77 +10,77 @@ if [[ ! -z "${LD_LIBRARY_PATH}" ]]; then
fi
#
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."
#
#
rm -rf dist build
#
make cleaneggs
#
make cleanlibs
#
#
make clean
#
export CUDA_HOME=
#
export CUDA_VERSION=
#
make cpuonly CUDA_VERSION="CPU"
#
#
if [ ! -f "./bitsandbytes/libbitsandbytes_cpu.so" ]; then
#
# Control will enter here if $DIRECTORY doesn't exist.
#
echo "Compilation unsuccessul!" 1>&2
#
exit 64
#
fi
#
#
make clean
#
export CUDA_HOME=$BASE_PATH/cuda-11.0
#
make cuda110 CUDA_VERSION=110
#
#
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda110.so" ]; then
#
# Control will enter here if $DIRECTORY doesn't exist.
#
echo "Compilation unsuccessul!" 1>&2
#
exit 64
#
fi
#
#
make clean
#
export CUDA_HOME=$BASE_PATH/cuda-11.1
#
make cuda11x CUDA_VERSION=111
#
#
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda111.so" ]; then
#
# Control will enter here if $DIRECTORY doesn't exist.
#
echo "Compilation unsuccessul!" 1>&2
#
exit 64
#
fi
#
#
make clean
#
export CUDA_HOME=$BASE_PATH/cuda-11.4
#
make cuda11x CUDA_VERSION=114
#
#
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda114.so" ]; then
#
# Control will enter here if $DIRECTORY doesn't exist.
#
echo "Compilation unsuccessul!" 1>&2
#
exit 64
#
fi
#
#
make clean
#
export CUDA_HOME=$BASE_PATH/cuda-11.5
#
make cuda11x CUDA_VERSION=115
#
#
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda115.so" ]; then
#
# Control will enter here if $DIRECTORY doesn't exist.
#
echo "Compilation unsuccessul!" 1>&2
#
exit 64
#
fi
#
#
make clean
#
export CUDA_HOME=$BASE_PATH/cuda-11.7
#
make cuda11x CUDA_VERSION=117
#
#
if [ ! -f "./bitsandbytes/libbitsandbytes_cuda117.so" ]; then
#
# Control will enter here if $DIRECTORY doesn't exist.
#
echo "Compilation unsuccessul!" 1>&2
#
exit 64
#
fi
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."
rm
-rf
dist build
make cleaneggs
make cleanlibs
make clean
export
CUDA_HOME
=
export
CUDA_VERSION
=
make cpuonly
CUDA_VERSION
=
"CPU"
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cpu.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
echo
"Compilation unsuccessul!"
1>&2
exit
64
fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.0
make cuda110
CUDA_VERSION
=
110
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda110.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
echo
"Compilation unsuccessul!"
1>&2
exit
64
fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.1
make cuda11x
CUDA_VERSION
=
111
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda111.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
echo
"Compilation unsuccessul!"
1>&2
exit
64
fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.4
make cuda11x
CUDA_VERSION
=
114
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda114.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
echo
"Compilation unsuccessul!"
1>&2
exit
64
fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.5
make cuda11x
CUDA_VERSION
=
115
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda115.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
echo
"Compilation unsuccessul!"
1>&2
exit
64
fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.7
make cuda11x
CUDA_VERSION
=
117
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda117.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
echo
"Compilation unsuccessul!"
1>&2
exit
64
fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.8
make cuda1
2x
CUDA_VERSION
=
118
make cuda1
18
CUDA_VERSION
=
118
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda118.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
...
...
@@ -172,7 +172,7 @@ fi
make clean
export
CUDA_HOME
=
$BASE_PATH
/cuda-11.8
make cuda1
2x
_nomatmul
CUDA_VERSION
=
118
make cuda1
18
_nomatmul
CUDA_VERSION
=
118
if
[
!
-f
"./bitsandbytes/libbitsandbytes_cuda118_nocublaslt.so"
]
;
then
# Control will enter here if $DIRECTORY doesn't exist.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment