Bring GPU kernel on feature parity with CPU kernel #48

Open
peterwittek opened this Issue Dec 2, 2015 · 3 comments

Comments

Projects
None yet
1 participant
@peterwittek
Member

peterwittek commented Dec 2, 2015

Things related to the solution of the Gross-Pitaevskii equation are only implemented in the CPU kernel.

@peterwittek peterwittek added this to the Version 1.5 milestone Dec 3, 2015

@peterwittek peterwittek self-assigned this Jan 10, 2016

@peterwittek

This comment has been minimized.

Show comment
Hide comment
@peterwittek

peterwittek Jan 29, 2016

Member

Single-component Hamiltonians with no angular velocity work (commit f43ea3c). Two-component Hamiltonians with no external potential and no angular velocity also work (commit dd83b53).

Member

peterwittek commented Jan 29, 2016

Single-component Hamiltonians with no angular velocity work (commit f43ea3c). Two-component Hamiltonians with no external potential and no angular velocity also work (commit dd83b53).

@peterwittek

This comment has been minimized.

Show comment
Hide comment
@peterwittek

peterwittek Jan 29, 2016

Member

Adding a rotation kernel for the angular velocity is a major optimization problem because the indexing of the elements involved in the calculations does not follow the usual pattern and getting it right requires altering the basic memory access patterns.

Furthermore, to calculate the external potential correctly with the 2-component Hamiltonian, we need access to the second wave function, and this is extremely costly and requires rewriting the kernel. These two problems must be addressed to have feature parity with the CPU kernel.

Member

peterwittek commented Jan 29, 2016

Adding a rotation kernel for the angular velocity is a major optimization problem because the indexing of the elements involved in the calculations does not follow the usual pattern and getting it right requires altering the basic memory access patterns.

Furthermore, to calculate the external potential correctly with the 2-component Hamiltonian, we need access to the second wave function, and this is extremely costly and requires rewriting the kernel. These two problems must be addressed to have feature parity with the CPU kernel.

@peterwittek peterwittek removed their assignment Jan 29, 2016

@peterwittek peterwittek removed this from the Version 1.5 milestone Jan 29, 2016

@peterwittek

This comment has been minimized.

Show comment
Hide comment
@peterwittek

peterwittek Mar 28, 2017

Member

With release 1.6.2, the CPU kernel gained two more functionalities that the GPU kernel does not have:

  • Cylindrical coordinates.
  • Lee-Huang-Yang term.
Member

peterwittek commented Mar 28, 2017

With release 1.6.2, the CPU kernel gained two more functionalities that the GPU kernel does not have:

  • Cylindrical coordinates.
  • Lee-Huang-Yang term.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment