Implementing multivariate polynomial class - #7979
Conversation
wiechula
left a comment
There was a problem hiding this comment.
Just very minor things. Very nice! Especially the MultivariatePolynomial. Did you make some timing tests compared to the explicit formula?
Hi @wiechula, When performing the interpolation on CPU tested with googlebenchmark the compile time version is around 20% slower than the hardcoded formula and the run time version is around 17 times slower than the hardcoded formula. You can also look at the output from godbolt (left panel compile time evaluation and right panel hard coded formula) to see the differences. |
wiechula
left a comment
There was a problem hiding this comment.
Very nice! Thanks a lot for the additional information.
- possibillity to load zero supression threshold map for dedx correction
making functions in MultivariatePolynomialParametersHelper private
56d290e to
a4302bc
Compare
|
@shahor02 @davidrohr , I guess the error is unrelated. Can this be merged? |
|
Hello @davidrohr @sgorbuno, now an error appeared during the slc8-GPU test (https://ali-ci.cern.ch/alice-build-logs/AliceO2Group/AliceO2/7979/a4302bcf068fcc27beee25c8402df65390b2aed1/build_O2_fullCI/pretty.html#errors) and I am not quite sure why it happens: When I look to similar functions running on GPU e.g.: I see that there is sometimes aGPUgeneric() statement.Do you know if this will fix the problem above and when exactly do I need it? By looking at the definition AliceO2/GPU/Common/GPUCommonDefAPI.h Line 47 in 03608ff |
|
It is needed in some cases when you are passing references/pointers to non-local variables to a function, which automatically deduces a template parameter from the type of that variable. The whole story is super complicated and related to OpenCL memory address space qualifiers. basically, in
because it cannot instantiate |
b20073f
|
Thanks for the nice explanation. I hope it will fix the error. |
|
thx, now it compiles. Have you tested on the EPN whether there are performance implications with the GPU? |
I havent done a performance test on EPNs. @wiechula Could you run such a test on EPNs? |
|
Please note, we have switched EPN access to using the slurm scheduler. Some instructions can be found here: https://indico.cern.ch/event/1111506/contributions/4675857/attachments/2370168/4047932/2022-01-01%20EPN%20access%20via%20Scheduler.pdf I have added Jens to the users that may submit to the |
|
Any update on the performance test of the new class on the EPN? |
|
@davidrohr , here the comparison |
Thanks @wiechula. Is it then ok to merge this @davidrohr ? |
…rection Implementing multivariate polynomial class
multivariate polynomial class:
dE/dx: