|
1 | 1 | # @author Federico Sossai (fsossai) |
2 | 2 |
|
3 | | -if(ROOT_tmva_FOUND AND ROOT_tmva-sofie_FOUND) |
4 | 3 |
|
5 | 4 | # Checking that all required model exist |
6 | 5 | if (NOT ONNX_MODELS_DIR) |
@@ -51,7 +50,14 @@ if(ROOT_tmva_FOUND AND ROOT_tmva-sofie_FOUND) |
51 | 50 | message(STATUS "ONNXRuntime not found") |
52 | 51 | endif() |
53 | 52 |
|
54 | | - if (Use_SOFIE_TEMPLATE) |
| 53 | + |
| 54 | + |
| 55 | +#---TMVA-/SOFIE |
| 56 | +if(ROOT_tmva_FOUND AND ROOT_tmva-sofie_FOUND) |
| 57 | + |
| 58 | + |
| 59 | +### this is not used |
| 60 | +if (Use_SOFIE_TEMPLATE) |
55 | 61 |
|
56 | 62 | # Configuring SOFIEInference_Template.cxx.in |
57 | 63 | set(FUNC_NAME "BM_SOFIE_Inference") |
@@ -91,9 +97,8 @@ if(ROOT_tmva_FOUND AND ROOT_tmva-sofie_FOUND) |
91 | 97 | string(REPLACE ";" ",\n" FUNC_TUPLES "${ALL_FUNCS}") # String[] -> String |
92 | 98 | configure_file(SOFIEInference_Template.cxx.in SOFIEInference.cxx @ONLY) |
93 | 99 |
|
94 | | - else() |
95 | 100 |
|
96 | | - endif() |
| 101 | +endif() |
97 | 102 |
|
98 | 103 |
|
99 | 104 | # configure_file(input_models/compiled/Linear_event.hxx Linear_event.hxx COPYONLY) |
@@ -154,32 +159,43 @@ if(BLAS_FOUND) |
154 | 159 | #set(SOFIE_BLAS_LIBS /home/moneta/intel/mkl/lib/intel64/libmkl_intel_lp64.so /home/moneta/intel/mkl/lib/intel64/libmkl_sequential.so /home/moneta/intel/mkl/lib/intel64/libmkl_core.so -lpthread) |
155 | 160 | #set(SOFIE_BLAS_LIBS /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Accelerate.framework) |
156 | 161 |
|
| 162 | +# |
| 163 | +# to set specific BLAS do : cmake -DBLA_Vendor=OpenBLAS, Intel10_64lp_seq or INtel64lp |
| 164 | +# for Intel MKL need to set also MKLROOT env variable (see documentation of cmake FindBlas) |
| 165 | +# need to source for example . $dir/intel/mkl/bin/mklvars.sh intel64 |
| 166 | + |
| 167 | +set(SOFIE_BLAS_LIBS ${BLAS_LIBRARIES}) |
| 168 | + |
| 169 | + |
157 | 170 | # Benchmark for models emitted by SOFIE |
158 | 171 | RB_ADD_GBENCHMARK(SOFIEInference |
159 | 172 | SOFIEInference.cxx |
160 | 173 | LABEL short |
161 | | - LIBRARIES TMVA ROOTTMVASofie ${BLAS_LIBRARIES} |
| 174 | + LIBRARIES TMVA ROOTTMVASofie ${SOFIE_BLAS_LIBS} |
162 | 175 | ) |
163 | 176 |
|
164 | | - # target_include_directories(SOFIEInference PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) |
| 177 | +add_dependencies(SOFIEInference SofieCompileModels) |
165 | 178 |
|
166 | | -#add_dependencies(SOFIEInference SofieCompileModels) |
167 | | - |
168 | | - |
169 | | -#configure_file(input_models/compiled/higgs_model_dense.hxx higgs_model_dense.hxx COPYONLY) |
170 | | -#configure_file(input_models/compiled/higgs_model_dense.dat higgs_model_dense.dat COPYONLY) |
171 | 179 | RB_ADD_GBENCHMARK(RDF_SOFIE_Inference |
172 | 180 | RDF_SOFIE_Inference.cxx |
173 | 181 | LABEL short |
174 | | - #LIBRARIES TMVA ROOTTMVASofie openblas |
175 | | - #LIBRARIES TMVA ROOTTMVASofie |
176 | | - LIBRARIES Core Hist Imt RIO Tree TreePlayer ROOTDataFrame ROOTVecOps TMVA ROOTTMVASofie ${BLAS_LIBRARIES} |
| 182 | + LIBRARIES Core Hist Imt RIO Tree TreePlayer ROOTDataFrame ROOTVecOps TMVA ROOTTMVASofie ${SOFIE_BLAS_LIBS} |
177 | 183 | ) |
178 | 184 |
|
179 | 185 | add_dependencies(RDF_SOFIE_Inference SofieCompileModels) |
180 | 186 |
|
181 | | -endif() |
182 | | -endif() |
| 187 | +# |
| 188 | +# add optimization flags for best performances (factor 3 on simple Conv1 test) |
| 189 | +# |
| 190 | +#if (ROOT_PLATFORM MATCHES "linux|macosx" AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") |
| 191 | +## assume we run only on linux/macos with gnu or gcc |
| 192 | +set(gnu-flags $<$<CXX_COMPILER_ID:GNU>:-fno-signaling-nans>) |
| 193 | +target_compile_options(SOFIEInference PRIVATE -mavx2 ${gnu-flags} -fno-trapping-math -O3) |
| 194 | +target_compile_options(RDF_SOFIE_Inference PRIVATE -mavx2 ${gnu-flags} -fno-trapping-math -O3) |
| 195 | +#endif() |
| 196 | + |
| 197 | +endif() # endif blas |
| 198 | +endif() # endif TMVA/SOFIE |
183 | 199 |
|
184 | 200 | find_package(LWTNN QUIET) |
185 | 201 | if (LWTNN_FOUND) |
|
0 commit comments