print fft info also with -help flag, using single function to create string
This commit is contained in:
98
src/info.cpp
98
src/info.cpp
@ -34,6 +34,7 @@
|
|||||||
#include "group.h"
|
#include "group.h"
|
||||||
#include "improper.h"
|
#include "improper.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
#include "lmpfftsettings.h"
|
||||||
#include "modify.h"
|
#include "modify.h"
|
||||||
#include "neighbor.h"
|
#include "neighbor.h"
|
||||||
#include "output.h"
|
#include "output.h"
|
||||||
@ -406,40 +407,9 @@ void Info::command(int narg, char **arg)
|
|||||||
|
|
||||||
if (flags & FFT) {
|
if (flags & FFT) {
|
||||||
fputs("\nFFT information:\n",out);
|
fputs("\nFFT information:\n",out);
|
||||||
#if defined(FFT_HEFFTE)
|
fputs(get_fft_info().c_str(),out);
|
||||||
fputs("FFT engine = HeFFTe\n",out);
|
|
||||||
#if defined(FFT_HEFFTE_MKL)
|
|
||||||
fputs("FFT library = MKL\n", out);
|
|
||||||
#elif defined(FFT_HEFFTE_FFTW)
|
|
||||||
fputs("FFT library = FFTW\n", out);
|
|
||||||
#else
|
|
||||||
fputs("FFT library = (builtin)\n", out);
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
fputs("FFT engine = mpiFFT\n",out);
|
|
||||||
#if defined(FFT_MKL)
|
|
||||||
fputs("FFT library = MKL\n", out);
|
|
||||||
#elif defined(FFT_FFTW3)
|
|
||||||
fputs("FFT library = FFTW3\n", out);
|
|
||||||
#else
|
|
||||||
fputs("FFT library = KISS\n", out);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#if defined(LMP_KOKKOS)
|
|
||||||
fputs("KOKKOS FFT engine = mpiFFT\n",out);
|
|
||||||
#if defined(FFT_KOKKOS_CUFFT)
|
|
||||||
fputs("KOKKOS FFT library = cuFFT\n", out);
|
|
||||||
#elif defined(FFT_KOKKOS_HIPFFT)
|
|
||||||
fputs("KOKKOS FFT library = hipFFT\n", out);
|
|
||||||
#elif defined(FFT_FFTW3)
|
|
||||||
fputs("KOKKOS FFT library = FFTW3\n", out);
|
|
||||||
#elif defined(FFT_KOKKOS_MKL)
|
|
||||||
fputs("KOKKOS FFT library = MKL\n", out);
|
|
||||||
#else
|
|
||||||
fputs("KOKKOS FFT library = KISS\n", out);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & SYSTEM) {
|
if (flags & SYSTEM) {
|
||||||
fputs("\nSystem information:\n",out);
|
fputs("\nSystem information:\n",out);
|
||||||
fmt::print(out,"Units = {}\n", update->unit_style);
|
fmt::print(out,"Units = {}\n", update->unit_style);
|
||||||
@ -1308,6 +1278,68 @@ std::string Info::get_accelerator_info(const std::string &package)
|
|||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
std::string Info::get_fft_info()
|
||||||
|
{
|
||||||
|
std::string fft_info;
|
||||||
|
#if defined(FFT_SINGLE)
|
||||||
|
fft_info = "FFT precision = single\n";
|
||||||
|
#else
|
||||||
|
fft_info = "FFT precision = double\n";
|
||||||
|
#endif
|
||||||
|
#if defined(FFT_HEFFTE)
|
||||||
|
fft_info += "FFT engine = HeFFTe\n";
|
||||||
|
#if defined(FFT_HEFFTE_MKL)
|
||||||
|
fft_info += "FFT library = MKL\n";
|
||||||
|
#elif defined(FFT_HEFFTE_FFTW)
|
||||||
|
fft_info += "FFT library = FFTW\n";
|
||||||
|
#else
|
||||||
|
fft_info += "FFT library = (builtin)\n";
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
fft_info += "FFT engine = mpiFFT\n";
|
||||||
|
#if defined(FFT_MKL)
|
||||||
|
#if defined(FFT_MKL_THREADS)
|
||||||
|
fft_info += "FFT library = MKL with threads\n";
|
||||||
|
#else
|
||||||
|
fft_info += "FFT library = MKL\n";
|
||||||
|
#endif
|
||||||
|
#elif defined(FFT_FFTW3)
|
||||||
|
#if defined(FFT_FFTW_THREADS)
|
||||||
|
fft_info += "FFT library = FFTW3 with threads\n";
|
||||||
|
#else
|
||||||
|
fft_info += "FFT library = FFTW3\n";
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
fft_info += "FFT library = KISS\n";
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#if defined(LMP_KOKKOS)
|
||||||
|
fft_info += "KOKKOS FFT engine = mpiFFT\n";
|
||||||
|
#if defined(FFT_KOKKOS_CUFFT)
|
||||||
|
fft_info += "KOKKOS FFT library = cuFFT\n";
|
||||||
|
#elif defined(FFT_KOKKOS_HIPFFT)
|
||||||
|
fft_info += "KOKKOS FFT library = hipFFT\n";
|
||||||
|
#elif defined(FFT_KOKKOS_FFTW3)
|
||||||
|
#if defined(FFT_KOKKOS_FFTW_THREADS)
|
||||||
|
fft_info += "KOKKOS FFT library = FFTW3 with threads\n";
|
||||||
|
#else
|
||||||
|
fft_info += "KOKKOS FFT library = FFTW3\n";
|
||||||
|
#endif
|
||||||
|
#elif defined(FFT_KOKKOS_MKL)
|
||||||
|
#if defined(FFT_KOKKOS_MKL_THREADS)
|
||||||
|
fft_info += "KOKKOS FFT library = MKL with threads\n";
|
||||||
|
#else
|
||||||
|
fft_info += "KOKKOS FFT library = MKL\n";
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
fft_info += "KOKKOS FFT library = KISS\n";
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
return fft_info;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
void Info::get_memory_info(double *meminfo)
|
void Info::get_memory_info(double *meminfo)
|
||||||
{
|
{
|
||||||
double bytes = 0;
|
double bytes = 0;
|
||||||
|
|||||||
@ -47,6 +47,7 @@ class Info : public Command {
|
|||||||
static bool has_package(const std::string &);
|
static bool has_package(const std::string &);
|
||||||
static bool has_accelerator_feature(const std::string &, const std::string &,
|
static bool has_accelerator_feature(const std::string &, const std::string &,
|
||||||
const std::string &);
|
const std::string &);
|
||||||
|
static std::string get_fft_info();
|
||||||
static bool has_gpu_device();
|
static bool has_gpu_device();
|
||||||
static std::string get_gpu_device_info();
|
static std::string get_gpu_device_info();
|
||||||
static std::string get_accelerator_info(const std::string &pkg = "");
|
static std::string get_accelerator_info(const std::string &pkg = "");
|
||||||
|
|||||||
@ -66,6 +66,7 @@
|
|||||||
|
|
||||||
#include "lmpinstalledpkgs.h"
|
#include "lmpinstalledpkgs.h"
|
||||||
#include "lmpgitversion.h"
|
#include "lmpgitversion.h"
|
||||||
|
#include "lmpfftsettings.h"
|
||||||
|
|
||||||
#if defined(LAMMPS_UPDATE)
|
#if defined(LAMMPS_UPDATE)
|
||||||
#define UPDATE_STRING " - " LAMMPS_UPDATE
|
#define UPDATE_STRING " - " LAMMPS_UPDATE
|
||||||
@ -1446,7 +1447,10 @@ void LAMMPS::print_config(FILE *fp)
|
|||||||
fmt::print(fp,"Compatible GPU present: {}\n\n",Info::has_gpu_device() ? "yes" : "no");
|
fmt::print(fp,"Compatible GPU present: {}\n\n",Info::has_gpu_device() ? "yes" : "no");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fputs("Active compile time flags:\n\n",fp);
|
fputs("FFT information:\n\n",fp);
|
||||||
|
fputs(Info::get_fft_info().c_str(),fp);
|
||||||
|
|
||||||
|
fputs("\nActive compile time flags:\n\n",fp);
|
||||||
if (Info::has_gzip_support()) fputs("-DLAMMPS_GZIP\n",fp);
|
if (Info::has_gzip_support()) fputs("-DLAMMPS_GZIP\n",fp);
|
||||||
if (Info::has_png_support()) fputs("-DLAMMPS_PNG\n",fp);
|
if (Info::has_png_support()) fputs("-DLAMMPS_PNG\n",fp);
|
||||||
if (Info::has_jpeg_support()) fputs("-DLAMMPS_JPEG\n",fp);
|
if (Info::has_jpeg_support()) fputs("-DLAMMPS_JPEG\n",fp);
|
||||||
|
|||||||
Reference in New Issue
Block a user