Running the workloads
Steps to set up dependancies
Rerun torch just to make sure your version's the latest one
git clone git@github.com:Aayush-Ankit/isca_workloads.git
luarocks install torch
Note: luarocks intall may have an issue with systems seating behind a proxy, so users have to change the git config file to use https:// than git://, so please follow this instructions.
[url "https://"]
insteadOf = git://
Add above statements to your repository gitconfig file "e.g:vim ~/.gitconfig
" For more information refer to this link --> https://github.com/luarocks/luarocks/wiki/LuaRocks-through-a-proxyluarocks install nn
luarocks install dpnn
luarocks install torchx
To use with CUDA
luarocks install cutorch
luarocks install cunn
luarocks install cunnx
Install RNN dependancy (allows using sequencers)
cd rnn
luarocks make rocks/rnn-scm-1.rockspec
Note: the above command may break due to no proper rnn directory CMakeList cleanup. If that occurs please delete rnn and reclone the directory and run it again.
2.arm rnn
2.bgit clone git@github.com:Element-Research/rnn.git
2.c Repeat steps 1 and 2 again
Yay! Setup's Done!!!
Running a benchmark on CPU/GPU
Some info. about the benchmarks
- wlm_bigLSTM - bigLSTM network for word-level language modelling (Google 1B dataset)
- wlm_anotherLSTM - another deep LSTM network for word-level language modelling (Google 1B dataset)
- nmt_l5 - Google Machine Tranalation for English-French (WMT15 dataset)
- nmt_l3 - Google Machine Tranalation for English-French (WMT15 dataset)
th <.lua> -gpu <0/1> -threads <non-zero> -batch <non-zero>
cmdline options:
- gpu > use 0 for CPU run, 1 for GPU run (default is CPU)
- threads > useful for CPU runs, can increase to evaluate CPU performance (default is 1)
- batch > can be varied to find the CPU, GPU numbers (inference time, power) variation. FOr GPU, can increase batchsize until torch throws THCudaCheck: out of memory error
Metrics of Interest which are printed
- Number of parameters in the network
- Inference time on (CPU/GPU)
NOTE: For, CPU inference time, run it twice (and use the 2nd value) to make sure the data movement cost from HDD isn't included
- The
<>pow.txt
file shows gpu power consumption