Skip to content

Add functions to export objects from dipole::internal namespace#59

Open
am1808 wants to merge 24 commits into
richard-evans:cuda_no_thrustfrom
am1808:cuda_dipole
Open

Add functions to export objects from dipole::internal namespace#59
am1808 wants to merge 24 commits into
richard-evans:cuda_no_thrustfrom
am1808:cuda_dipole

Conversation

@am1808
Copy link
Copy Markdown
Collaborator

@am1808 am1808 commented Apr 23, 2021

No description provided.

@am1808 am1808 closed this Apr 26, 2021
@am1808 am1808 reopened this Apr 26, 2021
am1808 and others added 20 commits April 26, 2021 18:05
Move initialisation of gpu before dipole::initialize in sim.cpp

Call initialisation of GPU dipole in initialisation of CPU dipole with
flag

Fix bug in update field loop for i_1Dindex counter
Double precision calculations left out in some places on the host. Rely on the implicit casting.
Add function to copy cells dipole fields from GPU to CPU
Introduced and intermediate buffer to copy the data and do the host DP to host SP conversion if necessary.
Add missing update of atomic demag field.
Moved the necessary values to size_t to avoid cusparse erroring out.
Code now produces what looks like correct and consistent results between SP and DP.
For llg_heun_corrector_step moved update to the kernel. Overall performance increase event though the kernel is a bit slower (~10%), but bigger gain than that from removing DtoD copy.
For cusparse, use a large d_spin and d_spin_field array and usei separate pointers to access x, y and z compoments.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants