Allocate aligned memory
Description
For runs on the CPU, the memory for the batches of the wavefunctions in the states is now allocated in an aligned way. The alignment is chosen according to the vectorization recognized at configure time. This improves vectorized instructions, especially for the finite difference kernels where vector instuction intrinsics are used.
This MR depends on MR !669 (merged).
News snippet
Improve vectorization by allocating aligned memory.
Checklist
-
I have checked that my code follows the Octopus coding standards
Merge request reports
Activity
changed milestone to %10.0
added Core Optimization labels
- Resolved by Sebastian Ohlmann
I am not a big fan of the name special. This is not really descriptive and does not help new comers to understand the code. Maybe "aligned" would be better, no?
Codecov Report
Merging #673 into develop will decrease coverage by
<.01%
. The diff coverage is57.89%
.@@ Coverage Diff @@ ## develop #673 +/- ## =========================================== - Coverage 70.84% 70.83% -0.01% =========================================== Files 473 473 Lines 89592 89595 +3 =========================================== + Hits 63467 63469 +2 - Misses 26125 26126 +1
Impacted Files Coverage Δ src/grid/batch_inc.F90 100% <100%> (ø)
⬆ src/grid/batch.F90 86.48% <50%> (ø)
⬆ src/grid/allocate_hardware_aware.c 66.66% <55.55%> (ø)
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 5f4cf9c...a015a5f. Read the comment docs.Edited by Codecovmentioned in merge request !674 (merged)
added 1 commit
- a015a5fa - Rename allocation functions: special -> hardware_aware
mentioned in commit 293181ea
added in Changelog label