Skip to content

DiamonDinoia/test-regression

 
 

Repository files navigation

test-regression

testing cms hcal/ecal regression

to build

  • git clone <repo> and cd <repo>
  • mkdir build and cd build
  • cmake ../ -DEIGEN_HOME=<path to eigen root dir>
  • cmake ../ -DDOpenCL_INCLUDE_DIR=<path to opencl root dir>
  • cmake ../ -DDEBUG=ON to compile in debug mode>
  • cmake ../ -DTURNOFF_CUDA=ON to disable cuda>
  • cmake ../ -DTURNOFF_OPENCL=ON to disable opencl>
  • if u r @vinavx2 use: cmake ../ -DEIGEN_HOME=/data/user/vkhriste/eigen/eigen -DOpenCL_INCLUDE_DIR=/usr/local/cuda-9.2/include

to run

  • generate pulses ./gen/gen_data -13
  • run multifit cpu ./multifit_cpu/multifit_cpu ../data/<filename> <num_iterations> <num_channels_per_iteration>
  • run multifit gpu ./multifit_gpu/multifit_gpu ../data/<filename> <num_iterations> <num_channels_per_iteration>

to profile cache utilization

  • compile with -g and optimizations
  • run valgrind --tool=cachegrind <program> specifying the program to be profiled
  • run KCachegrind with on the file produced by valgrind to visualize the results

Structure

  • gen: test data generator.
  • io: input data parser.
  • legacy_multifit_cpu: old cms_sw hcal/ecal code.
  • legacy_multifit_cpu: gpu porting of old cms_sw hcal/ecal code.
  • multifit_cpu: cms_sw hcal/ecal code updated with the new version of nnls/fnnls.
  • multifit_gpu: gpu porting of multifit_cpu
  • nnls: CPU/GPU version of nnls/fnnls and inplace fnnls by Marco.
  • test_nnls_cpu: tests for nnls and io.

on vinavx2 machine

  • source /data/user/vkhriste/setup.sh
  • proceed to build and run

About

testing cms hcal/ecal regression

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 74.0%
  • Cuda 11.5%
  • C 8.9%
  • CMake 3.5%
  • Python 1.2%
  • Makefile 0.9%