Clarification on Recommended Configuration for fftlib Library.

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
hszhao.cn@gmail.com
Full Member
Full Member
Posts: 187
Joined: Tue Oct 13, 2020 11:32 pm

Clarification on Recommended Configuration for fftlib Library.

#1 Post by hszhao.cn@gmail.com » Wed Jan 03, 2024 3:01 pm

Dear VASP Forum,

I am currently configuring the compilation process for the VASP code and I came across the recommended settings for the fftlib library in the makefile.include.intel_omp template file shipped with vasp.6.4.2 source code. The relevant section is commented as "For the fftlib library (hardly any benefit in combination with MKL's FFTs)" but still provides recommended configuration settings.

This raises a question for me: if the benefit of using fftlib in combination with MKL's FFTs is acknowledged to be minimal, why are these settings recommended? Is there a specific scenario where it might be advantageous to use this combination? If the fftlib library is not recommended to be used with MKL's FFTs, is there an alternative configuration that should be considered?

Code: Select all

FCL = mpiifort fftlib.o -qmkl
CXX_FFTLIB = icpc -qopenmp -std=c++11 -DFFTLIB_USE_MKL -DFFTLIB_THREADSAFE
INCS_FFTLIB = -I./include -I$(MKLROOT)/include/fftw
LIBS += fftlib
Your clarification on this point will be greatly appreciated. Thank you.

Best regards,
Zhao

svijay
Global Moderator
Global Moderator
Posts: 74
Joined: Fri Aug 04, 2023 11:07 am

Re: Clarification on Recommended Configuration for fftlib Library.

#2 Post by svijay » Fri Jan 05, 2024 1:07 pm

Dear Zhao,

The recommendations (and optional tags) in the makefile.include file are present to ensure that all options are presented to users while compiling VASP. Given the diversity of possible hardware and other libraries it is not straightforward for us to give a clear recommendation for all systems - which is why all relevant tags are placed in the makefile.include file.

Sudarshan

Post Reply