paboyle / Grid

Data parallel C++ mathematical object library
GNU General Public License v2.0
154 stars 109 forks source link

Precision change implementation #424

Closed giltirn closed 1 year ago

giltirn commented 1 year ago

Hi Peter, Here are the long-awaited precision change modifications I discussed before. In summary, aside from my new implementation I have a unified precisionChange interface that will redirect to precisionChangeFast for double2 etc. precisionChange accepts a workspace for reuse that will speed up the call if used. I've implemented the workspace changes in the mixed-CG, reliable update CG and mixed-prec multishifts and have tested them on both Crusher and my local computer. I've also added a test and benchmark for precisionChange, showing significant reduction in wallclock time for precision change on both. Best, Chris

paboyle commented 1 year ago

THanks Chris