File indexing completed on 2026-04-09 07:49:16
0001
0002
0003 usage(){ cat << EOU
0004 SCurandState_test.sh
0005 ======================
0006
0007 ~/o/sysrap/tests/SCurandState_test.sh
0008
0009 EOU
0010 }
0011 cd $(dirname $(realpath $BASH_SOURCE))
0012
0013 name=SCurandState_test
0014
0015 export FOLD=/tmp/$name
0016 mkdir -p $FOLD
0017 bin=$FOLD/$name
0018
0019
0020
0021
0022
0023
0024 test=loadAndUpload
0025
0026 export TEST=${TEST:-$test}
0027
0028 cuda_prefix=/usr/local/cuda
0029 CUDA_PREFIX=${CUDA_PREFIX:-$cuda_prefix}
0030
0031
0032 defarg="info_build_run"
0033 arg=${1:-$defarg}
0034
0035 vars="BASH_SOURCE defarg arg name FOLD bin test TEST CUDA_PREFIX"
0036
0037
0038
0039
0040
0041 gdb__ ()
0042 {
0043 if [ -z "$BP" ]; then
0044 H="";
0045 B="";
0046 T="-ex r";
0047 else
0048 H="-ex \"set breakpoint pending on\"";
0049 B="";
0050 for bp in $BP;
0051 do
0052 B="$B -ex \"break $bp\" ";
0053 done;
0054 T="-ex \"info break\" -ex r";
0055 fi;
0056 local runline="gdb $H $B $T --args $* ";
0057 echo $runline;
0058 date;
0059 eval $runline;
0060 date
0061 }
0062
0063
0064 if [ "${arg/info}" != "$arg" ]; then
0065 for var in $vars ; do printf "%20s : %s \n" "$var" "${!var}" ; done
0066 fi
0067
0068 if [ "${arg/build}" != "$arg" ]; then
0069 gcc $name.cc \
0070 -std=c++11 -lstdc++ -lm -lcrypto -lssl -g -I.. \
0071 -I$CUDA_PREFIX/include \
0072 -L$CUDA_PREFIX/lib64 -lcudart \
0073 -o $bin
0074 [ $? -ne 0 ] && echo $BASH_SOURCE build error && exit 1
0075 fi
0076
0077 if [ "${arg/run}" != "$arg" ]; then
0078 $bin
0079 [ $? -ne 0 ] && echo $BASH_SOURCE run error && exit 2
0080 fi
0081
0082 if [ "${arg/dbg}" != "$arg" ]; then
0083 gdb__ $bin
0084 [ $? -ne 0 ] && echo $BASH_SOURCE dbg error && exit 3
0085 fi
0086
0087
0088 exit 0