-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenMP and TRIQS fourier transforms #697
Comments
Hey @HugoStrand, Thank you for pointing this out! Best, Nils |
sir when i do update these are the errors coming . |
This is not a problem with the install of triqs, but rather a problem with other repositories that you set up in your operating system. |
Sir i have installed the Docker but when i do docker pull flatironinstitute/triqs |
This problem is not related to TRIQS. You have a problem in your docker installation. |
Dear all,
We have been combining TRIQS with OpenMP for a while in the TPRF project. One issue that we face is that the fourier transforms between imaginary time and Matsubara frequency and between momentum and real space are all using FFTW which is not thread safe in the creation of the "FFTW-plan".
In order to run the transforms inside an OpenMP threaded region I have hacked the TRIQS fourier trasform to be able to create the FFTW plan before entering the parallel region, see:
https://github.com/TRIQS/tprf/blob/unstable/c%2B%2B/lattice/chi_imtime.cpp#L292
The hacked TRIQS fourier transform files are residing in:
https://github.com/TRIQS/tprf/tree/unstable/c%2B%2B/fourier
Could this feature be enabled in the TRIQS library somehow?
The basic problem we face is transforming frequency and momentum dependent objects to and from imaginary time and real space.
Currently we do this in steps where we thread over one mesh and fourier transform over the other, and then repreat the process but switching the meshes.
This is one bottleneck for RPA and GW calculations that needs to be as fast as possible.
Cheers, Hugo
The text was updated successfully, but these errors were encountered: