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:
...
@@ -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
Makefile
View file @
7b6cfe17
...
@@ -80,6 +80,11 @@ cuda11x_nomatmul: $(BUILD_DIR) env
...
@@ -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
...
@@ -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
...
...
deploy.sh
View file @
7b6cfe17
...
@@ -10,77 +10,77 @@ if [[ ! -z "${LD_LIBRARY_PATH}" ]]; then
...
@@ -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 cuda1
2x
CUDA_VERSION
=
118
make cuda1
18
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
...
@@ -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 cuda1
2x
_nomatmul
CUDA_VERSION
=
118
make cuda1
18
_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.
...
...
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