InstallingclFFT - adda-team/adda GitHub Wiki

clFFT 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. ADDA requires at least clFFT version 2.12, the following guidelines are based on version 2.12.2. Moreover, clFFT requires support for OpenCL 1.2.

Unix

  • Either obtain a special package, e.g. libclfft-dev for Ubuntu.

  • Or download it from the official repository.

    • Either download the source and compile it. Doing it under the user account (install directory - $HOME) can be as easy as (requires CMake):
      tar -zxvf clFFT-2.12.2.tar.gz
      cd clFFT-2.12.2/src
      cmake -DCMAKE_INSTALL_PREFIX=$HOME .
      make
      make install
      
      cmake automatically determines if some auxiliary software is available on your system and sets up furhter installation to include only the core library or, additionally, client application and tests (ADDA need only the library).
    • Alternatively, download the ready binaries for x64 Linux (install directory should be extracted from the archive).
    • Additionally you also need to update the environment (this may be unnecessary after local build if you already installed other software into $HOME):
      • either add include subdirectory of the install directory to environmental variable C_INCLUDE_PATH and lib64 - to LIBRARY_PATH and LD_LIBRARY_PATH (for linking and runtime). Setting LD_LIBRARY_PATH can be replaced by modifying /etc/ld.so.conf.
      • or specify paths to ../include and ../lib64 subdirectories of the install directory in ocl/Makefile, as described in CompilingADDA. Also update LD_LIBRARY_PATH as described above.
  • Note that clFFT may need pthread library, which is not linked by default. One way to fix this problem is to uncomment the following line in ocl/Makefile.

    LDLIBS += -lpthread
    

macOS

Windows

If you just want to use ADDA executables for 64-bit Windows, do not worry about clFFT at all. An appropriate DLL is included in the corresponding package.

If you want to compile adda_ocl on Windows yourself, proceed further:

  • Download and unzip the latest release for Windows.
  • If you are setting up the MinGW/MSYS environment with advanced instructions follow those instructions.
  • Alternatively, do the following:
    • specify paths to include and bin subdirectories of the install directory in ocl/Makefile, as described in CompilingADDA.
    • To avoid need to move DLLs together with ADDA executables add bin subdirectory to environmental variable PATH
⚠️ **GitHub.com Fallback** ⚠️