diff --git a/README.md b/README.md index 744b599..d84922b 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,5 @@ ## Prerequisites * GNU parallel +* bc diff --git a/v11.sh b/v11.sh index e949fe1..227d2b1 100755 --- a/v11.sh +++ b/v11.sh @@ -43,14 +43,6 @@ function cuda_release { } function download { - version_re='/([0-9]+\.[0-9]+\.[0-9]+)/' - if [[ $1 =~ $version_re ]]; then - echo ${BASH_REMATCH[1]} - version=${BASH_REMATCH[1]} - else - echo "no match" - exit 1 - fi wget --no-check-certificate -c $1 } export -f download # export to subshells @@ -72,6 +64,13 @@ function cuda_version { echo CUDA_VERSION '(CUDA API Version)' $version } +function dir_size { + fname=$(basename $1) + dirname="${fname%.*}" + size=$(du -s $dirname/$2 | cut -f1) + echo $size +} + function cusparse_version { fname=$(basename $1) dirname="${fname%.*}" @@ -83,10 +82,7 @@ function cusparse_version { } function cusparse_size { - fname=$(basename $1) - dirname="${fname%.*}" - size=$(du -s $dirname/libcusparse | cut -f1) - echo $size B + dir_size $1 libcusparse } function cublas_version { @@ -99,11 +95,75 @@ function cublas_version { echo $major.$minor.$patch.$build } + function cublas_size { + dir_size $1 libcublas +} + +function cuda_size { fname=$(basename $1) dirname="${fname%.*}" - size=$(du -s $dirname/libcublas | cut -f1) - echo $size B + size=$(du -s $dirname | cut -f1) + echo $size +} + +function nvcc_size { + dir_size $1 cuda_nvcc/bin/nvcc +} + +function cufft_size { + dir_size $1 libcufft +} + +function curand_size { + dir_size $1 libcurand +} + +function cusolver_size { + dir_size $1 libcusolver +} + +function npp_size { + dir_size $1 libnpp +} + +function nsight_compute_size { + dir_size $1 nsight_compute +} + +function nsight_systems_size { + dir_size $1 nsight_systems +} + +function cupti_size { + dir_size $1 cuda_cupti +} + +function gdb_size { + dir_size $1 cuda_gdb +} + +function cudart_size { + dir_size $1 cuda_cudart +} + +function nvrtc_size { + dir_size $1 cuda_nvrtc +} + +function nsight_size { + dir_size $1 cuda_nsight +} + +function driver_size { + fname=$(basename $1) + dirname="${fname%.*}" + size=$(du -s $dirname/NVIDIA-* | cut -f1) + echo $size +} + +function pct { + echo "x=$1 / $2 * 100; scale=2; x/1" | bc -l } # echo "downloading" @@ -113,22 +173,126 @@ function cublas_size { # nice -n20 parallel -j${SIMULTANEOUS_EXTRACTS} extract {} ::: ${URLS[*]} echo "
CUDA Release | cuSPARSE Version | cuSPARSE Size (B) |
---|---|---|
CUDA Release | cuSPARSE Version | cuBLAS Version |
$_r | $_cs_v | $_cs_s |
$_r | $_cs_v | $_cb_v |
CUDA Release | cuBLAS Version | cuBLAS Size (B) | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDA Release | " +echo -n "Size (K) | " +echo -n "cuSPARSE Size | " +echo -n "cuBLAS Size | " +echo -n "nvcc Size | " +echo -n "cuFFT Size | " +echo -n "cuRAND Size | " +echo -n "cuSOLVER Size | " +echo -n "npp Size | " +echo -n "Nsight Compute | " +echo -n "Nsight Systems | " +echo -n "cuPTI Size | " +echo -n "CUDA GDB Size | " +echo -n "cudart Size | " +echo -n "nvrtc Size | " +echo -n "nsight Size | " +echo -n "driver Size | " +echo "
$_r | $_cb_v | $_cb_s | ||||||||||||||
$_r | " + echo -n "$_c_s | " + echo -n "$_cs_s ("$(pct $_cs_s $_c_s)"%) | " + echo -n "$_cb_s ("$(pct $_cb_s $_c_s)"%) | " + echo -n "$_nvcc_s ("$(pct $_nvcc_s $_c_s)"%) | " + echo -n "$_cufft_s ("$(pct $_cufft_s $_c_s)"%) | " + echo -n "$_curand_s ("$(pct $_curand_s $_c_s)"%) | " + echo -n "$_cusolver_s ("$(pct $_cusolver_s $_c_s)"%) | " + echo -n "$_npp_s ("$(pct $_npp_s $_c_s)"%) | " + echo -n "$_nsight_compute_s ("$(pct $_nsight_systems_s $_c_s)"%) | " + echo -n "$_nsight_systems_s ("$(pct $_nsight_compute_s $_c_s)"%) | " + echo -n "$_cupti_s ("$(pct $_cupti_s $_c_s)"%) | " + echo -n "$_gdb_s ("$(pct $_gdb_s $_c_s)"%) | " + echo -n "$_cudart_s ("$(pct $_cudart_s $_c_s)"%) | " + echo -n "$_nvrtc_s ("$(pct $_nvrtc_s $_c_s)"%) | " + echo -n "$_nsight_s ("$(pct $_nsight_s $_c_s)"%) | " + echo -n "$_driver_s ("$(pct $_driver_s $_c_s)"%) | " + echo "
CUDA Release | cuSPARSE Version | cuSPARSE Size (B) |
---|---|---|
CUDA Release | cuSPARSE Version | cuBLAS Version |
$_r | $_cs_v | $_cs_s |
$_r | $_cs_v | $_cb_v |
CUDA Release | cuBLAS Version | cuBLAS Size (B) | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CUDA Release | " +echo -n "Size (K) | " +echo -n "cuSPARSE Size | " +echo -n "cuBLAS Size | " +echo -n "nvcc Size | " +echo -n "cuFFT Size | " +echo -n "cuRAND Size | " +echo -n "cuSOLVER Size | " +echo -n "npp Size | " +echo -n "Nsight Compute | " +echo -n "Nsight Systems | " +echo -n "cuPTI Size | " +echo -n "CUDA GDB Size | " +echo -n "cudart Size | " +echo -n "nvrtc Size | " +echo -n "nsight Size | " +echo -n "driver Size | " +echo "
$_r | $_cb_v | $_cb_s | ||||||||||||||
$_r | " + echo -n "$_c_s | " + echo -n "$_cs_s ("$(pct $_cs_s $_c_s)"%) | " + echo -n "$_cb_s ("$(pct $_cb_s $_c_s)"%) | " + echo -n "$_nvcc_s ("$(pct $_nvcc_s $_c_s)"%) | " + echo -n "$_cufft_s ("$(pct $_cufft_s $_c_s)"%) | " + echo -n "$_curand_s ("$(pct $_curand_s $_c_s)"%) | " + echo -n "$_cusolver_s ("$(pct $_cusolver_s $_c_s)"%) | " + echo -n "$_npp_s ("$(pct $_npp_s $_c_s)"%) | " + echo -n "$_nsight_compute_s ("$(pct $_nsight_systems_s $_c_s)"%) | " + echo -n "$_nsight_systems_s ("$(pct $_nsight_compute_s $_c_s)"%) | " + echo -n "$_cupti_s ("$(pct $_cupti_s $_c_s)"%) | " + echo -n "$_gdb_s ("$(pct $_gdb_s $_c_s)"%) | " + echo -n "$_cudart_s ("$(pct $_cudart_s $_c_s)"%) | " + echo -n "$_nvrtc_s ("$(pct $_nvrtc_s $_c_s)"%) | " + echo -n "$_nsight_s ("$(pct $_nsight_s $_c_s)"%) | " + echo -n "$_driver_s ("$(pct $_driver_s $_c_s)"%) | " + echo "