#2512: Enable detection of `attribute(pure)`
| Reporter: | Erik Schnetter |
| Status: | new |
| Milestone: | |
| Version: | development version |
| Type: | proposal |
| Priority: | minor |
| Component: | Cactus |
Comment (by Roland Haas):
Linux perf timing for a 1 thread qc0-mclachlan.par test run (until it aborts due to multiple components on the single MPI rank).
Most time is spent in:
# Overhead Command Shared Object Symbol # 14.17% cactus_sim cactus_sim [.] ML_BSSN::ML_BSSN_EvolutionInteriorSplitBy3_Body 11.16% cactus_sim cactus_sim [.] ML_BSSN::ML_BSSN_EvolutionInteriorSplitBy2_Body 10.29% cactus_sim cactus_sim [.] CarpetLib::prolongate_3d_rf2<double, 5> 6.58% cactus_sim cactus_sim [.] ML_BSSN::ML_BSSN_EvolutionInteriorSplitBy1_Body 4.64% cactus_sim cactus_sim [.] apply_dissipation_._omp_fn.2 4.38% cactus_sim cactus_sim [.] ML_BSSN::ML_BSSN_ADMBaseInterior_Body 4.19% cactus_sim libm-2.31.so [.] __ieee754_pow_sse2
and CCTKi_VarDataPtrI is 0.01%. So this could be due to McLachlan being C and Lean being Fortran (hence no Fortran wrappers). The Fortran wrappers are terrible in that they contain calls to CCTKi_GroupLengthAsPointer for all vectors of grid functions (which takes a group name ie a string as an argument).
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2512/enable-detection-of-attribute-pure