-
Notifications
You must be signed in to change notification settings - Fork 62
InstallingclAmdFft
Important note: clAmdFft (used by ADDA v.1.3b4) is no more available for download. However, the most recent source of ADDA is already using its predecessor clFFT. Unfortunately, we have not yet completed the detailed procedure for its installation, but it should be similar to the one described below. See also issue 204.
clAmdFft library provides the default way to perform the FFTs in OpenCL version of ADDA. This library already significantly outperforms the built-in Apple clFFT routines and is expected to develop further. Therefore, its use on any system with GPU is highly recommended. The following guidelines are based on clAmdFft version 1.10.274 (or 321).
-
Download(broken) the package of
clAmdFftfor Linux and install it. The default installation directory is/opt/clAmdFft-<version>. It is also possible to specify any other directory, for example, inside the home directory of a particular user. -
Either
- specify paths to
includeandlib64(orlib32) subdirectories of the install directory in filesrc/ocl/Makefile, as described in CompilingADDA. - or add
.../includeto environmental variableC_INCLUDE_PATHand.../lib64(orlib32) - toLIBRARY_PATHandLD_LIBRARY_PATH(for linking and runtime). SettingLD_LIBRARY_PATHcan be replaced by modifying/etc/ld.so.confor by sourcingappmlEnv.shin the installation directory.
- specify paths to
-
There is a known bug when using
clAmdFfttogether withlibOpenCL.soprovided by Nvidia GPU driver. During linking spurious errors appear, like:...libclAmdFft.Runtime.so: undefined reference to `cl...@OPENCL_1.0'It has been discussed in a few places (1, 2, 3). Currently, the simplest workaround seems to uncomment the line
LDFLAGS +=-Wl,--unresolved-symbols=ignore-in-shared-libsin
src/ocl/Makefile. On Unix it is even better to switch to open-source implementation oflibOpenCL.so(see OpenCL#Headers_and_libraries) -
Also on Unix
clAmdFftmay need pthread library, which is not linked by default. One way to fix this problem is to uncomment the following line insrc/ocl/Makefile.LDLIBS += -lpthread
If you just want to use ADDA executables for Windows, do not worry about clAmdFft at all. An appropriate DLL is included in the corresponding package.
If you want to compile adda_ocl on Windows yourself, proceed further:
-
Download(broken) the installer of
clAmdFftfor Windows and install it. The default installation directory isC:\Program Files (x86)\AMD\clAmdFftorC:\Program Files\AMD\clAmdFft. - Add
bin64orbin32(depending on the Windows bitness) subdirectory in the installation directory to Windows environmental variablePATH - Either
- specify paths to
includeandbin64(orbin32) subdirectories of the install directory in filesrc/ocl/Makefile, as described in CompilingADDA. The compiler will link directly to*.dll(instead of*.lib). - or copy contents of
includefolder andclAmdFft.Runtime.dllofbinfolder to correspondingincludeandlibfolders of the MinGW/MSYS environment.
- specify paths to
Home (Getting started)
Frequently asked questions
Features
Tutorial
Comparison with other codes
Largest simulations
Compiling ADDA
Installing FFTW3
Installing MPI
Using OpenCL
Installing clFFT
Installing clBLAS
Using sparse mode
Installing MinGW
Using MSYS2
Using Spack
Papers that use ADDA
Awards
References
Links
Acknowledgements
Instruction for committers
Code design & structure
Style guide
Using VS Code
Using Eclipse
Early development history
Adding new ...