diff --git a/package/fftw/3.3.8/install.sh b/package/fftw/3.3.8/install.sh index 1e21de5e73378e2b65a9d041eecc0c8f9f7f0959..5ca0422fd770eb622353806d53ffb28b2d2860f6 100644 --- a/package/fftw/3.3.8/install.sh +++ b/package/fftw/3.3.8/install.sh @@ -5,5 +5,5 @@ set -e cd ${JARVIS_TMP} tar -xvf ${JARVIS_DOWNLOAD}/fftw-3.3.8.tar.gz cd fftw-3.3.8 -./configure --prefix=$1 --enable-shared --enable-threads --enable-openmp --enable-mpi #--enable-float --enable-fma --enable-neon +./configure --prefix=$1 --enable-shared --enable-threads --enable-openmp --enable-mpi --enable-float --enable-fma --enable-neon make -j install diff --git a/package/glibc/2.28/install.sh b/package/glibc/2.28/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..5fc3464cfa2650c4a08ae02b907073bad10db048 --- /dev/null +++ b/package/glibc/2.28/install.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -x +set -e +glibc_ver='2.28' +. ${DOWNLOAD_TOOL} -u https://mirrors.huaweicloud.com/gnu/glibc/glibc-${glibc_ver}.tar.xz +cd ${JARVIS_TMP} +rm -rf glibc-${glibc_ver} +tar -xvf ${JARVIS_DOWNLOAD}/glibc-${glibc_ver}.tar.xz +cd glibc-${glibc_ver} +mkdir build +cd build +unset LD_LIBRARY_PATH +../configure --prefix=$1 --disable-profile --enable-add-ons --with-headers=/usr/include --disable-sanity-checks --disable-werror +make -j +make install diff --git a/package/kfft/1.0.0/install.sh b/package/kfft/1.0.0/install.sh index 5d44996fe4e689a62abd6c4c57797180bca6c051..2a6496a761ba3f4029d652f6e506769e8e124d83 100644 --- a/package/kfft/1.0.0/install.sh +++ b/package/kfft/1.0.0/install.sh @@ -5,11 +5,13 @@ lib_name='kml_adapter' . ${DOWNLOAD_TOOL} -u https://gitee.com/openeuler/kml_adapter.git -t git cd $JARVIS_DOWNLOAD cd ./$lib_name/kml_fft_adapter -export C_INCLUDE_PATH=/usr/local/kml/include/ -export CPLUS_INCLUDE_PATH=/usr/local/kml/include/ +sed -i "s/\/usr\/local\/kml/\$ENV{KML_GCC_PATH}/g" CMakeLists.txt +export C_INCLUDE_PATH=$KML_GCC_PATH/include/ +export CPLUS_INCLUDE_PATH=$KML_GCC_PATH/include/ chmod +x build.sh dos2unix build.sh rm -rf build ./build.sh mkdir -p $1/lib -cp -rf build/* $1/lib \ No newline at end of file +cp -rf build/* $1/lib +cp -rf include $1/ \ No newline at end of file diff --git a/package/osu/1.0.0/install.sh b/package/osu/1.0.0/install.sh index eb56895bc0de5345b0d24b2155500573f9940d45..5540f6c22757ca282d1b18747b45af7e01a502cb 100644 --- a/package/osu/1.0.0/install.sh +++ b/package/osu/1.0.0/install.sh @@ -3,6 +3,7 @@ set -x set -e . ${DOWNLOAD_TOOL} -u https://github.com/forresti/osu-micro-benchmarks/archive/refs/heads/master.zip -f osu-micro-benchmarks.zip cd ${JARVIS_TMP} +rm -rf osu-micro-benchmarks-master unzip ${JARVIS_DOWNLOAD}/osu-micro-benchmarks.zip cd osu-micro-benchmarks-master ./configure --prefix=$1 CC=mpicc CXX=mpicxx diff --git a/src/dataService.py b/src/dataService.py index ef7c27d69a5338b7694adbd4d0bd9d2c5b194052..0e8765f70c28ba0f81ca77beefb6e2c0911ac7a6 100644 --- a/src/dataService.py +++ b/src/dataService.py @@ -23,6 +23,7 @@ class DataService(object,metaclass=Singleton): dependency = '' module_content='' env_file = 'env.sh' + # Application Info app_name = '' build_dir = '' @@ -37,6 +38,7 @@ class DataService(object,metaclass=Singleton): batch_cmd = '' loop_cmd = '' #Other Info + env_config_file = 'JARVIS_CONFIG' config_file = 'data.config' meta_file = '.meta' root_path = os.getcwd() @@ -55,8 +57,14 @@ class DataService(object,metaclass=Singleton): self.isARM = platform.machine() == 'aarch64' self.tool = ToolService() self.data_process() - + # 优先读取环境变量的JARVIS_CONFIG配置,方便多人同时操控 + # 然后读取.meta文件中的值 + # 最后读取data.config中的值 def get_config_file_name(self): + CONFIG_ENV = os.getenv(DataService.env_config_file) + if CONFIG_ENV is not None: + print("LOAD Config file from ENV:", CONFIG_ENV) + return CONFIG_ENV if not os.path.exists(DataService.meta_file): return DataService.config_file return self.tool.read_file(DataService.meta_file) diff --git a/templates/amber/22/amber.arm.gpu.kgcc.config b/templates/amber/22/amber.arm.gpu.kgcc.config new file mode 100644 index 0000000000000000000000000000000000000000..e9617f97c67e08e5427a3487babea97264b78e7e --- /dev/null +++ b/templates/amber/22/amber.arm.gpu.kgcc.config @@ -0,0 +1,55 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + +[DEPENDENCY] +module use ./software/modulefiles +module purge +./jarvis -install openblas/0.3.18 gcc +./jarvis -install kgcc/9.3.1 com +module load kgcc/9.3.1 +export CC=gcc CXX=g++ FC=gfortran +if [ ! -d "./amber22_src_kgcc" ];then + mkdir amber22_src_kgcc + tar -xvf $JARVIS_DOWNLOAD/Amber22.tar.bz2 -C amber22_src_kgcc + tar -xvf $JARVIS_DOWNLOAD/AmberTools22.tar.bz2 -C amber22_src_kgcc +fi + +[ENV] +module use ./software/modulefiles +module use ./software/moduledeps +module purge +module load kgcc/9.3.1 +#module load gcc7.3.0/openblas/0.3.18 +module load kml-gcc/1.6.0 + +[APP] +app_name = Amber +build_dir = $JARVIS_ROOT/amber22_src_kgcc/amber22_src/ +binary_dir = $JARVIS_ROOT/amber22_kgcc/bin +case_dir = $JARVIS_ROOT/workloads/amber/PME/STMV_production_NPT_4fs +#binary_dir = +#case_dir = $JARVIS_ROOT/workloads/amber/PME/JAC_production_NPT_4fs + +[BUILD] +content='cmake $AMBER_PREFIX/amber22_src -DCMAKE_INSTALL_PREFIX='$JARVIS_ROOT'/amber22_kgcc -DCOMPILER=GNU -DBUILD_PYTHON=FALSE -DMPI=FALSE -DCUDA=TRUE -DINSTALL_TESTS=FALSE -DDOWNLOAD_MINICONDA=FALSE -DMINICONDA_USE_PY3=FLASE -DBLAS_LIBRARIES='$KML_GCC_PATH'/lib/kblas/omp/libkblas.so -DLAPACK_LIBRARIES='$KML_GCC_PATH'/lib/libklapack_full.so -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_FLAGS="-O3 -march=armv8.2-a -mcpu=tsv110" -DCMAKE_CXX_FLAGS="-O3 -march=armv8.2-a -mcpu=tsv110" -DCMAKE_Fortran_FLAGS="-O3 -march=armv8.2-a -mcpu=tsv110" 2>&1 | tee cmake.log' +cd build +sed -i "40d" run_cmake +sed -i "39a $content" run_cmake +# may stuck at Running updater..., just retry... +#./run_cmake +#This may have error at 49%, just retry... +make -j install + +[CLEAN] +cd build +./clean_build + +[RUN] +#run = dsub -s run.sh +run = numactl -C 0,1,2,3 +binary = pmemd.cuda -O -i mdinOPT.GPU -o mdout-kgcc -p ../Topologies/STMV.prmtop -c ../Coordinates/STMV.inpcrd && cat mdout-kgcc +#binary = pmemd.cuda -O -i mdinOPT.GPU -o mdout-kgcc -p ../Topologies/JAC.prmtop -c ../Coordinates/JAC.inpcrd && cat mdout-kgcc +#binary = +nodes = 1 diff --git a/templates/amber/22/data.amber.arm.gpu.config b/templates/amber/22/data.amber.arm.gpu.config new file mode 100644 index 0000000000000000000000000000000000000000..55bf68112262aaafad81d7557767029ac9e3d836 --- /dev/null +++ b/templates/amber/22/data.amber.arm.gpu.config @@ -0,0 +1,70 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +Amber-benchmark/20 https://ambermd.org/Amber20_Benchmark_Suite.tar.gz + +[DEPENDENCY] +module use ./software/modulefiles +module purge +./jarvis -install openblas/0.3.18 gcc +./jarvis -install bisheng/2.5.0 com +module load bisheng/2.5.0 +export CC=clang CXX=clang++ FC=flang +./jarvis -install hmpi/1.2.0 clang +if [ ! -d "./amber22_src" ];then + tar -xvf $JARVIS_DOWNLOAD/Amber22.tar.bz2 + tar -xvf $JARVIS_DOWNLOAD/AmberTools22.tar.bz2 + cd amber22_src + sed -i '22{h;d};23G' AmberTools/src/reduce/libpdb/pdb++.cpp + sed -i '30d' AmberTools/src/reduce/libpdb/pdb++.cpp + sed -i '24a }' AmberTools/src/reduce/libpdb/pdb++.cpp + + sed -i '23{h;d};24G' AmberTools/src/reduce/libpdb/pdb_type.cpp + sed -i '33d' AmberTools/src/reduce/libpdb/pdb_type.cpp + sed -i '26a }' AmberTools/src/reduce/libpdb/pdb_type.cpp + + sed -i "27s/^/!/g" AmberTools/src/sebomd/se_etimer.F + sed -i "27a call cpu_time(tnow)" AmberTools/src/sebomd/se_etimer.F +fi +#yum install cmake* flex* bison* boost* python2-pip -y +#pip2 install numpy scipy matplotlib + +[ENV] +module use ./software/modulefiles +module use ./software/moduledeps +module purge +module load bisheng/2.5.0 +module load hmpi/1.2.0 +module load gcc7.3.0/openblas/0.3.18 +export CC=mpicc CXX=mpicxx FC=mpifort + +[APP] +app_name = Amber +build_dir = $JARVIS_ROOT/amber22_src/build +#binary_dir = $JARVIS_ROOT/amber22/bin +case_dir = $JARVIS_ROOT/workloads/amber/PME/STMV_production_NPT_4fs +binary_dir = +#case_dir = $JARVIS_ROOT/workloads/amber/PME/JAC_production_NPT_4fs + +[BUILD] +sed -i "137s/gfortran/flang/g" ../cmake/AmberCompilerConfig.cmake +mpi_path=`which mpicc` +mpi_path=${mpi_path%/*/*} + +content='cmake $AMBER_PREFIX/amber22_src -DCMAKE_INSTALL_PREFIX='$JARVIS_ROOT'/amber22 -DCOMPILER=CLANG -DBUILD_PYTHON=FALSE -DMPI=TRUE -DCUDA=TRUE -DINSTALL_TESTS=TRUE -DDOWNLOAD_MINICONDA=FALSE -DMINICONDA_USE_PY3=FLASE -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" -DCMAKE_CXX_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" -DCMAKE_Fortran_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I'${mpi_path}'/include -L'${mpi_path}'/lib -fuse-ld=lld" 2>&1 | tee cmake.log' +sed -i "40d" run_cmake +sed -i "39a $content" run_cmake +#./run_cmake +make -j install + +[CLEAN] +./clean_build + +[RUN] +run = dsub -s run.sh +#run = numactl -C 0,1,2,3 +#binary = pmemd.cuda -O -i mdinOPT.GPU -o mdout -p ../Topologies/STMV.prmtop -c ../Coordinates/STMV.inpcrd && cat mdout +#binary = pmemd.cuda -O -i mdinOPT.GPU -o mdout -p ../Topologies/JAC.prmtop -c ../Coordinates/JAC.inpcrd && cat mdout +binary = +nodes = 1 diff --git a/templates/amber/22/run.sh b/templates/amber/22/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..20c4c744d3f75e3fa01149833a8ab5e153a9d369 --- /dev/null +++ b/templates/amber/22/run.sh @@ -0,0 +1,11 @@ +#!/bin/sh +#DSUB -n Amber22_JAC_NPT_4fs +#DSUB -A default +#DSUB -N 1 +#DSUB -R cpu=128;gpu=1 +#DSUB --job_type cosched +#DSUB -oo out_%J.log +#DSUB -eo err_%J.log + +time -p $JARVIS_ROOT/amber22/bin/pmemd.cuda -O -i mdinOPT.GPU -o mdout -p ../Topologies/JAC.prmtop -c ../Coordinates/JAC.inpcrd +cat mdout diff --git a/templates/gromacs/2022.5/data.gromacs.arm.gpu.config b/templates/gromacs/2022.5/data.gromacs.arm.gpu.config new file mode 100644 index 0000000000000000000000000000000000000000..95f0d4b9c6ec0912c61b647ec521914418ad8bc9 --- /dev/null +++ b/templates/gromacs/2022.5/data.gromacs.arm.gpu.config @@ -0,0 +1,71 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +gromacs/2022.3 http://ftp.gromacs.org/pub/gromacs/gromacs-2022.5.tar.gz + +[DEPENDENCY] +#set -e +#set -x +module purge +module use ./software/modulefiles +module use ./software/moduledeps +./jarvis -install bisheng/2.5.0 com +./jarvis -install openblas/0.3.18 gcc +module load kgcc/9.3.1 +module load kgcc9.3.1/kml-gcc/1.6.0 +./jarvis -install kfft/1.0.0 gcc +module load bisheng/2.5.0 +./jarvis -install hmpi/1.2.0 clang +module load hmpi/1.2.0 +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install fftw/3.3.8 clang+mpi +#tar -xvf ${JARVIS_DOWNLOAD}/gromacs-2022.5.tar.gz + +[ENV] +module purge +module use ./software/modulefiles +module use ./software/moduledeps +module load bisheng/2.5.0 +export PATH=/usr/local/cuda/bin:$PATH +module load hmpi/1.2.0 +module load kgcc/9.3.1 +module load fftw/3.3.8 +#module load kgcc9.3.1/kml-gcc/1.6.0 +#module load kgcc9.3.1/kfft/1.0.0 +module load gcc7.3.0/openblas/0.3.18 +export CC=mpicc CXX=mpicxx FC=mpifort +export GMX_FORCE_UPDATE_DEFAULT_GPU=true +export GMX_GPU_PME_PP_COMMS=true +export GMX_GPU_DD_COMMS=true + +[APP] +app_name = gromacs +build_dir = $JARVIS_ROOT/gromacs-2022.5 +binary_dir = +case_dir = $JARVIS_ROOT/workloads/gromacs/water-cut1.0_GMX50_bare/0768/ + +[BUILD] +sed -i '204s/return fftw_version;/return 0;/g' src/gromacs/utility/binaryinformation.cpp +sed -i '206s/return fftwf_version;/return 0;/g' src/gromacs/utility/binaryinformation.cpp +sed -i '505s/int fftwflags = FFTW_DESTROY_INPUT;/int fftwflags = 0;/g' src/gromacs/fft/fft5d.cpp +rm -rf build +mkdir -p build +cd build +FLAGS="-mcpu=tsv110 -O3"; CFLAGS=$FLAGS CXXFLAGS="-mcpu=tsv110 -O3" CC=mpicc CXX=mpicxx FC=mpifort cmake -DCMAKE_INSTALL_PREFIX=$JARVIS_ROOT/gromacs-kml -DBUILD_SHARED_LIBS=on -DBUILD_TESTING=on -DREGRESSIONTEST_DOWNLOAD=off -DGMX_BUILD_OWN_FFTW=off -DGMX_SIMD=ARM_NEON_ASIMD -DGMX_DOUBLE=off -DGMX_EXTERNAL_BLAS=on -DGMX_EXTERNAL_LAPACK=on -DGMX_FFT_LIBRARY=fftw3 -DGMX_BLAS_USER=${OPEBLAS_PATH}/lib/libopenblas.a -DGMX_LAPACK_USER=${OPEBLAS_PATH}/lib/libopenblas.a -DFFTWF_LIBRARY=$FFTW_PATH/lib/libfftw3f.so -DFFTWF_INCLUDE_DIR=$FFTW_PATH_PATH/include -DGMX_GPU=CUDA -DGMX_MPI=off -DGMX_OPENMP=on -DGMX_X11=off -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda ../ + +make -j40 V=1 +make install + +#-DGMX_BLAS_USER=$openblas_path/lib/libopenblas.a #-DGMX_LAPACK_USER=$openblas_path/lib/libopenblas.a +#-DGMX_BLAS_USER=${KML_GCC_PATH}/lib/kblas/omp/libkblas.so -DGMX_LAPACK_USER=${KML_GCC_PATH}/lib/libklapack_full.so -DFFTWF_LIBRARY=$KFFT_PATH/lib/libfftw3f.so -DFFTWF_INCLUDE_DIR=$KFFT_PATH/include + +[CLEAN] +./clean_build + +[RUN] +run = chmod +x run.sh && dsub -s run.sh +# binary = gmx grompp -f pme.mdp +# binary = gmx mdrun -dlb yes -pin on -pinoffset 0 -pinstride 1 -ntmpi 1 -ntomp 48 -v -nsteps 100000 -resetstep 80000 -noconfout -nb gpu -bonded cpu -pme gpu -nstlist 400 -s ./topol.tpr +binary = +nodes = 1 diff --git a/templates/gromacs/2022.5/run.sh b/templates/gromacs/2022.5/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..5a3701361137cd9e42e002f213088cb408408b21 --- /dev/null +++ b/templates/gromacs/2022.5/run.sh @@ -0,0 +1,14 @@ +#!/bin/sh +#DSUB -n gromacs_job +#DSUB -A default +#DSUB -N 1 +#DSUB -R cpu=128;gpu=1 +#DSUB --job_type cosched +#DSUB -oo out_%J.log +#DSUB -eo err_%J.log + +ddd=`date "+%Y-%m-%d-%H:%M:%S"` + +cat $CCSCHEDULER_ALLOC_FILE |awk '{print $1}'|awk NF > hostfile +export CUDA_VISIBLE_DEVICES=0 +$JARVIS_ROOT/gromacs/bin/gmx mdrun -dlb yes -pin on -pinoffset 0 -pinstride 1 -ntmpi 1 -ntomp 64 -v -nsteps 100000 -resetstep 80000 -noconfout -nb gpu -nstlist 400 -s ./topol.tpr diff --git a/templates/pytorch/1.11.0/cublas-cutlass.py b/templates/pytorch/1.11.0/cublas-cutlass.py new file mode 100644 index 0000000000000000000000000000000000000000..e03457c8be2f3f2ea616688cd29e7113bffe6e40 --- /dev/null +++ b/templates/pytorch/1.11.0/cublas-cutlass.py @@ -0,0 +1,30 @@ +import torch + +# 指定使用GPU +device = torch.device("cuda") + +# 创建两个随机矩阵 +A = torch.randn(1000, 1000, device=device) +B = torch.randn(1000, 1000, device=device) + +# 进行矩阵乘法运算 +C = torch.matmul(A, B) + +# 将结果转移到CPU上 +C = C.cpu() + +# 打印结果 +print(C) + +#添加export CUBLASLT_LOG_LEVEL=5 可判别是否调用了cutlass +#输出:使能cutlass 算法是21号,切分Block Size为128x128x32 +[cublasLt][3794797][Trace][cublasLtSSSMatmul] A=0X400380DD0A00 Adesc=[type=R_32F rows=1000 cols=1000 ld=1000] B=0X400380A00000 Bdesc=[type=R_32F rows=1000 cols=1000 ld=1000] C=0X4003811A1400 Cdesc=[type=R_32F rows=1000 cols=1000 ld=1000] D=0X4003811A1400 Ddesc=[type=R_32F rows=1000 cols=1000 ld=1000] computeDesc=[computeType=COMPUTE_32F_FAST_TF32 scaleType=R_32F smCountTarget=108] algo=[algoId=21 tile=MATMUL_TILE_128x128 stages=MATMUL_STAGES_32x5] workSpace=0X0 workSpaceSizeInBytes=0 beta=0 outOfPlace=0 stream=0X0 +#输出:未使能cutlass 算法是0号或者21号,切分Block Size为64x64x32 +[cublasLt][3837588][Trace][cublasLtSSSMatmul] A=0X400484FD0A00 Adesc=[type=R_32F rows=1000 cols=1000 ld=1000] B=0X400484C00000 Bdesc=[type=R_32F rows=1000 cols=1000 ld=1000] C=0X4004853A1400 Cdesc=[type=R_32F rows=1000 cols=1000 ld=1000] D=0X4004853A1400 Ddesc=[type=R_32F rows=1000 cols=1000 ld=1000] computeDesc=[computeType=COMPUTE_32F_FAST_TF32 scaleType=R_32F] algo=[algoId=21 tile=MATMUL_TILE_64x64 stages=MATMUL_STAGES_32x6] workSpace=0X0 workSpaceSizeInBytes=0 beta=0 outOfPlace=0 stream=0X0 +tensor([[-35.9243, -17.1637, 43.2401, ..., -5.8674, 27.3440, 5.0968], + [ 67.7127, 0.9203, -7.6000, ..., 37.2051, -80.3450, 23.1073], + [ -6.7195, 4.0443, 24.7202, ..., -36.4448, 19.3249, -31.6387], + ..., + [-13.0232, -41.7477, -19.7421, ..., 40.6747, -0.6182, -56.0985], + [-33.5083, 12.9116, 17.2967, ..., 45.3489, 49.2308, -16.7261], + [ 25.1251, -43.3838, -30.2829, ..., 10.3012, 19.7520, -32.6221]]) \ No newline at end of file diff --git a/templates/pytorch/1.11.0/pytorch.arm.cuda.config b/templates/pytorch/1.11.0/pytorch.arm.cuda.config new file mode 100644 index 0000000000000000000000000000000000000000..6c9ce1212eb3ade0e00be26bee91feff21a246ef --- /dev/null +++ b/templates/pytorch/1.11.0/pytorch.arm.cuda.config @@ -0,0 +1,65 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +pytorch/1.11.0 https://github.com/pytorch/pytorch/archive/refs/tags/v1.11.0.zip pytorch-1.11.0.zip + +[DEPENDENCY] +if [ ! -d "./pytorch" ];then + #git clone --depth 1 -b release/1.11 https://github.com/pytorch/pytorch.git + git clone --depth 1 -b v1.11.0 https://github.com/pytorch/pytorch.git pytorch-1.11 + bc2c6edaf163b1a1330e37a6e34caf8c553e4755 + #unzip $JARVIS_DOWNLOAD/pytorch-1.11.0.zip + cd pytorch + git submodule sync + git submodule update --init --recursive --jobs 0 2>&1 | tee git-submodule.log +fi +conda create --name pytorch1.11 python=3.8 +conda install -y pyyaml typing_extensions numpy ccache + +[ENV] +if ! type conda >/dev/null 2>&1;then + echo -e "conda command does not exist, please execute following commands:\n" + echo "module use /home/share/apps/modulefiles/" + echo "module load anaconda/2021.11" + echo -e "source activate pytorch1.11\n" + exit 1 +fi +module use /home/share/apps/modulefiles/ +module load compilers/cuda/11.3.0 +module load compilers/gcc/9.3.1 +module load cudnn/8.2.1_cuda11.3 +module load libs/nccl/2.17.1-1_cuda11.3 +export GIT_SSL_NO_VERIFY=1 +export BUILD_SPLIT_CUDA=ON +export CAFFE2_STATIC_LINK_CUDA=ON +export ATEN_STATIC_CUDA=ON +export USE_STATIC_CUDNN=ON +export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH + +[APP] +app_name = Pytorch +build_dir = $JARVIS_ROOT/pytorch-1.11 +binary_dir = $JARVIS_ROOT/pytorch-1.11 +case_dir = $JARVIS_ROOT/ + +[BUILD] +set -e +set -x +python3 setup.py install 2>&1 | tee compile.log +python3 setup.py sdist bdist_wheel 2>&1| tee gen-whl.log + +[CLEAN] +python3 setup.py clean + +[RUN] +run = python3 -c "import torch; print(torch.__version__)" +binary = +nodes = 1 + +[BATCH] +cd build/lib +echo "check cutlass from--- libtorch_cuda_cpp.so --- library" +strings libtorch_cuda_cpp.so | grep "cutlass" +echo "check cutlass from--- libtorch_cuda_cu.so --- library" +strings libtorch_cuda_cu.so | grep "cutlass" \ No newline at end of file