Last active
October 9, 2022 09:56
-
-
Save hokiegeek2/cb993244479c318eeb457eecf80a210a to your computer and use it in GitHub Desktop.
Single-Locale Chapel GPU testing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Setup GPU env variables required by Chapel | |
| export PATH=$CHPL_HOME/bin/linux64-x86_64/:$PATH | |
| export CPATH=$CPATH:/usr/local/cuda/include | |
| export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64 | |
| export PATH=/usr/local/cuda/bin/:$PATH | |
| export CHPL_TARGET_CPU=native | |
| export CHPL_LOCALE_MODEL=gpu | |
| export CHPL_RE2=bundled | |
| export CHPL_COMM_SUBSTRATE=smp | |
| export CHPL_COMM=none | |
| export CHPL_LLVM=bundled | |
| export CHPL_RT_OVERSUBSCRIBED=yes | |
| # New for Chapel 1.28.0 | |
| export CHPL_TARGET_COMPILER=llvm | |
| # For CUDA compute capability = 5.0 | |
| export CHPL_CUDA_ARCH=sm_50 |
Author
Author
I tried to get Arkouda to run on GPUs and I ran into a problem documented here
Author
building with Chapel 1.28 requires a env variable change:
Consequently, these are the env variables to set for Chapel 1.28.0:
Setup GPU env variables required by Chapel
export PATH=$CHPL_HOME/bin/linux64-x86_64/:$PATH
export CPATH=$CPATH:/usr/local/cuda/include
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=/usr/local/cuda/bin/:$PATH
export CHPL_TARGET_CPU=native
export CHPL_LOCALE_MODEL=gpu
export CHPL_RE2=bundled
export CHPL_COMM_SUBSTRATE=smp
export CHPL_COMM=none
export CHPL_LLVM=bundled
export CHPL_RT_OVERSUBSCRIBED=yes
export CHPL_TARGET_COMPILER=llvm
For CUDA compute capability = 5.0
export CHPL_CUDA_ARCH=sm_50
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

A simple diagnostic module to confirm Chapel is configured and built to put locales on GPUs:
Save as gpu_fun.chpl, then compile:
Running this results in the following: