Skip to content

Commit ec2e0b9

Browse files
committed
install cuda another way
1 parent a843962 commit ec2e0b9

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

.github/workflows/precompiled_nif.yml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,27 @@ jobs:
7979
files: |
8080
./*.tar.gz
8181
precompile_nif_linux_x86_64:
82-
runs-on: ubuntu-22.04
82+
runs-on: ubuntu-20.04
8383
env:
8484
MIX_ENV: prod
8585
NX_IREE_PREFER_PRECOMPILED: false
8686
NX_IREE_SOURCE_DIR: ./build-cache/iree
8787
IREE_GIT_REV: candidate-20240604.914
88+
ImageOS: ubuntu20
89+
LANG: en_US.UTF-8
90+
LANGUAGE: en_US:en
91+
LC_ALL: en_US.UTF-8
92+
DEBIAN_FRONTEND: noninteractive
8893
strategy:
8994
fail-fast: false
9095
matrix:
9196
nif_version: [2.16, 2.17]
97+
container: "nvidia/cuda:12.5.0-devel-ubuntu20.04"
98+
cuda_version: "12.5.0"
99+
cuda_id: "12"
100+
cudnn_id: "8"
101+
cudnn_tarball: "https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-9.2.0.82_cuda12-archive.tar.xz"
102+
container: ${{ matrix.container }}
92103
steps:
93104
- name: checkout
94105
uses: actions/checkout@v4
@@ -106,11 +117,32 @@ jobs:
106117

107118
- name: Setup dependencies and env
108119
run: |
120+
apt-get update
121+
apt-get install -y build-essential automake autoconf pkg-config bc curl git libssl-dev gzip python3 ca-certificates \
122+
locales curl wget cmake
123+
echo "${LANG} UTF-8" >> /etc/locale.gen
124+
locale-gen
125+
update-locale LANG=${LANG}
109126
mix local.hex --force
110127
mix local.rebar --force
111128
echo "NX_IREE_SOURCE_DIR=$(elixir -e 'IO.puts(Path.absname(~s(${{env.NX_IREE_SOURCE_DIR}})))')" > $GITHUB_ENV
112129
echo "PKG_NAME=libnx_iree-linux-x86_64-nif-${{matrix.nif_version}}" >> $GITHUB_ENV
113130
131+
- name: Download and install cudnn
132+
run: |
133+
curl -fSL "${{ matrix.cudnn_tarball }}" -o cudnn.tar.xz
134+
mkdir -p cudnn
135+
tar -xvf cudnn.tar.xz -C cudnn --strip-components=1
136+
rm -f cudnn.tar.xz
137+
cp -a cudnn/include/* /usr/local/cuda/include/
138+
if [ -d "$(pwd)/cudnn/lib" ]; then
139+
cp -a cudnn/lib/* /usr/local/cuda/lib64/
140+
fi
141+
if [ -d "$(pwd)/cudnn/lib64" ]; then
142+
cp -a cudnn/lib64/* /usr/local/cuda/lib64/
143+
fi
144+
rm -rf cudnn
145+
114146
- name: Cache mix dependencies
115147
id: cache-mix-deps
116148
uses: actions/cache@v4

0 commit comments

Comments
 (0)