Commit 41bcd12d authored by BRAMAS Berenger's avatar BRAMAS Berenger

change ScalFMM to SCALFMM in the code and the cmake files

parent 3e570695
...@@ -4,8 +4,8 @@ if(insource) ...@@ -4,8 +4,8 @@ if(insource)
MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto ./Build and tapes cmake ../") MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto ./Build and tapes cmake ../")
endif(insource) endif(insource)
project(Addons_ckernelapi_scalfmm CXX C) project(ADDONS_CKERNELAPI_SCALFMM CXX C)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ScaLFMM_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SCALFMM_CXX_FLAGS}")
# Active language # Active language
# ----------------------- # -----------------------
...@@ -14,7 +14,7 @@ MESSAGE(STATUS " CXX ${CMAKE_CXX_COMPILER_ID}" ) ...@@ -14,7 +14,7 @@ MESSAGE(STATUS " CXX ${CMAKE_CXX_COMPILER_ID}" )
# if ask to build addon # if ask to build addon
if(ScalFMM_ADDON_CKERNELAPI) if(SCALFMM_ADDON_CKERNELAPI)
# first build lib scalfmmckernelapi # first build lib scalfmmckernelapi
set(LIBRARY_OUTPUT_PATH ../lib/${CMAKE_BUILD_TYPE}) set(LIBRARY_OUTPUT_PATH ../lib/${CMAKE_BUILD_TYPE})
...@@ -58,7 +58,7 @@ if(ScalFMM_ADDON_CKERNELAPI) ...@@ -58,7 +58,7 @@ if(ScalFMM_ADDON_CKERNELAPI)
foreach(fuse_key ${FUSE_LIST}) foreach(fuse_key ${FUSE_LIST})
file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}") file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
if(lines_fuse) if(lines_fuse)
if( NOT ScalFMM_USE_${fuse_key} ) if( NOT SCALFMM_USE_${fuse_key} )
MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" ) MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
set(compile_exec "FALSE") set(compile_exec "FALSE")
endif() endif()
......
...@@ -60,7 +60,7 @@ if(SCALFMM_ADDON_FMMAPI) ...@@ -60,7 +60,7 @@ if(SCALFMM_ADDON_FMMAPI)
foreach(fuse_key ${FUSE_LIST}) foreach(fuse_key ${FUSE_LIST})
file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}") file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
if(lines_fuse) if(lines_fuse)
if( NOT ScalFMM_USE_${fuse_key} ) if( NOT SCALFMM_USE_${fuse_key} )
MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" ) MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
set(compile_exec "FALSE") set(compile_exec "FALSE")
endif() endif()
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#include "../../Src/Components/FBasicParticleContainer.hpp" #include "../../Src/Components/FBasicParticleContainer.hpp"
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
#include "../../Src/Utils/FMpi.hpp" #include "../../Src/Utils/FMpi.hpp"
#endif #endif
...@@ -268,7 +268,7 @@ struct ScalFmmCoreHandle { ...@@ -268,7 +268,7 @@ struct ScalFmmCoreHandle {
int treeHeight; // hombre de niveaux de l'arbre (int) int treeHeight; // hombre de niveaux de l'arbre (int)
FReal boxWidth; // taille de la boîte racine (FReal) FReal boxWidth; // taille de la boîte racine (FReal)
FReal boxCenter[3]; // position du centre de la boîte racine (FReal[3]) FReal boxCenter[3]; // position du centre de la boîte racine (FReal[3])
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
MPI_Comm mpiCom; // communicateur MPI (MPI_Comm) MPI_Comm mpiCom; // communicateur MPI (MPI_Comm)
#endif #endif
int nbThreads; // nombre de threads (int) int nbThreads; // nombre de threads (int)
...@@ -304,7 +304,7 @@ int FmmCore_isParameterUsed(void */*fmmCore*/, int *name, int *flag){ ...@@ -304,7 +304,7 @@ int FmmCore_isParameterUsed(void */*fmmCore*/, int *name, int *flag){
case FMMCORE_ROOT_BOX_WIDTH : case FMMCORE_ROOT_BOX_WIDTH :
case FMMCORE_ROOT_BOX_CENTER : case FMMCORE_ROOT_BOX_CENTER :
case FMMCORE_TREE_HEIGHT : case FMMCORE_TREE_HEIGHT :
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
case FMMCORE_MPI_COMMUNICATOR: case FMMCORE_MPI_COMMUNICATOR:
#endif #endif
case FMMCORE_THREADS_NUMBER: case FMMCORE_THREADS_NUMBER:
...@@ -343,7 +343,7 @@ int FmmCore_setParameter(void *fmmCore, int *name, void*value){ ...@@ -343,7 +343,7 @@ int FmmCore_setParameter(void *fmmCore, int *name, void*value){
case FMMCORE_ROOT_BOX_CENTER : case FMMCORE_ROOT_BOX_CENTER :
memcpy(corehandle->config.boxCenter, value, sizeof(FReal)*3); memcpy(corehandle->config.boxCenter, value, sizeof(FReal)*3);
break; break;
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
case FMMCORE_MPI_COMMUNICATOR: case FMMCORE_MPI_COMMUNICATOR:
corehandle->config.mpiCom = *(MPI_Comm*)value; corehandle->config.mpiCom = *(MPI_Comm*)value;
break; break;
...@@ -388,7 +388,7 @@ int FmmCore_getParameter(void *fmmCore, int *name, void*value){ ...@@ -388,7 +388,7 @@ int FmmCore_getParameter(void *fmmCore, int *name, void*value){
case FMMCORE_ROOT_BOX_CENTER : case FMMCORE_ROOT_BOX_CENTER :
memcpy(value,corehandle->config.boxCenter, sizeof(FReal)*3); memcpy(value,corehandle->config.boxCenter, sizeof(FReal)*3);
break; break;
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
case FMMCORE_MPI_COMMUNICATOR: case FMMCORE_MPI_COMMUNICATOR:
*(MPI_Comm*)value = corehandle->config.mpiCom; *(MPI_Comm*)value = corehandle->config.mpiCom;
break; break;
......
This diff is collapsed.
# add a target to generate API documentation with Doxygen # add a target to generate API documentation with Doxygen
OPTION( ScalFMM_BUILD_DOC "Set to ON to build the Doxygen documentation " OFF ) OPTION( SCALFMM_BUILD_DOC "Set to ON to build the Doxygen documentation " OFF )
IF(ScalFMM_BUILD_DOC) IF(SCALFMM_BUILD_DOC)
find_package(Doxygen) find_package(Doxygen)
if(DOXYGEN_FOUND) if(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
...@@ -10,11 +10,11 @@ IF(ScalFMM_BUILD_DOC) ...@@ -10,11 +10,11 @@ IF(ScalFMM_BUILD_DOC)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM COMMENT "Generating API documentation with Doxygen" VERBATIM
) )
# INSTALL(FILES ${ScalFMM_BINARY_DIR}/Doc/scalfmm.tag # INSTALL(FILES ${SCALFMM_BINARY_DIR}/Doc/scalfmm.tag
# DESTINATION doc/ # DESTINATION doc/
# ) # )
# INSTALL(DIRECTORY ${ScalFMM_BINARY_DIR}/Doc/html # INSTALL(DIRECTORY ${SCALFMM_BINARY_DIR}/Doc/html
# DESTINATION doc/ # DESTINATION doc/
# ) # )
endif(DOXYGEN_FOUND) endif(DOXYGEN_FOUND)
endif(ScalFMM_BUILD_DOC) endif(SCALFMM_BUILD_DOC)
...@@ -40,8 +40,8 @@ ...@@ -40,8 +40,8 @@
* </ul> * </ul>
* *
* an example : <br> * an example : <br>
* <b> cmake -DScalFMM_USE_BLAS=ON -DScalFMM_USE_MKL_AS_BLAS=ON \ <br> * <b> cmake -DSCALFMM_USE_BLAS=ON -DSCALFMM_USE_MKL_AS_BLAS=ON \ <br>
* -DScalFMM_USE_SSE=OFF -DScalFMM_USE_AVX=ON ../ </b> * -DSCALFMM_USE_SSE=OFF -DSCALFMM_USE_AVX=ON ../ </b>
* *
* \subsection conf Configuration of the build * \subsection conf Configuration of the build
* *
...@@ -49,33 +49,33 @@ ...@@ -49,33 +49,33 @@
* *
* <ul> * <ul>
* <li> CMAKE_INSTALL_PREFIX : to choose where to install ScalFmm </li> * <li> CMAKE_INSTALL_PREFIX : to choose where to install ScalFmm </li>
* <li> ScalFMM_USE_MPI : to use and enable MPI. Warning, you need to use this parameter at the first cmake command you write. </li> * <li> SCALFMM_USE_MPI : to use and enable MPI. Warning, you need to use this parameter at the first cmake command you write. </li>
* <li> ScalFMM_ATTACHE_SOURCE : to build with -g </li> * <li> SCALFMM_ATTACHE_SOURCE : to build with -g </li>
* <li> SScalFMM_BUILD_TESTS : to build the text and the examples </li> * <li> SSCALFMM_BUILD_TESTS : to build the text and the examples </li>
* <li> ScalFMM_BUILD_UTESTS : to build the unit tests </li> * <li> SCALFMM_BUILD_UTESTS : to build the unit tests </li>
* <li> ScalFMM_USE_ADDONS : to activate add ons </li> * <li> SCALFMM_USE_ADDONS : to activate add ons </li>
* <ul> * <ul>
* <li> SCALFMM_ADDON_FMMAPI : to build Fmm Api </li> * <li> SCALFMM_ADDON_FMMAPI : to build Fmm Api </li>
* </ul> * </ul>
* <li> ScalFMM_USE_DOUBLE_PRECISION : to build in double precision </li> * <li> SCALFMM_USE_DOUBLE_PRECISION : to build in double precision </li>
* <li> ScalFMMUSE_MEM_STATS : to use memory stats (which count any new/delete done during a simulation) </li> * <li> ScalFMMUSE_MEM_STATS : to use memory stats (which count any new/delete done during a simulation) </li>
* <li> ScalFMM_USE_BLAS : to enable BLAS (needed by Chebyshev interpolation kernel) </li> * <li> SCALFMM_USE_BLAS : to enable BLAS (needed by Chebyshev interpolation kernel) </li>
* <ul> * <ul>
* <li> SCALFMM_USE_MKL_AS_BLAS : to use MKL as blas </li> * <li> SCALFMM_USE_MKL_AS_BLAS : to use MKL as blas </li>
* </ul> * </ul>
* <li> ScalFMM_USE_FFT : Use FFTW needed for uniform point for interpolation kernel</li> * <li> SCALFMM_USE_FFT : Use FFTW needed for uniform point for interpolation kernel</li>
* <ul> * <ul>
* <li> ( ScalFMM_USE_MKL_AS_FFTW : to use MKL as FFTW </li> * <li> ( SCALFMM_USE_MKL_AS_FFTW : to use MKL as FFTW </li>
* </ul> * </ul>
* <li> ScalFMM_USE_TRACE : to create trace </li> * <li> SCALFMM_USE_TRACE : to create trace </li>
* <ul> * <ul>
* <li> ScalFMM_USE_ITAC : to use Intel ITAC tool as trace generator </li> * <li> SCALFMM_USE_ITAC : to use Intel ITAC tool as trace generator </li>
* </ul> * </ul>
* <li> ScalFMM_USE_LOG to print output debug information * <li> SCALFMM_USE_LOG to print output debug information
* <li> ScalFMM_USE_ASSERT enable safe tests during execution * <li> SCALFMM_USE_ASSERT enable safe tests during execution
* <li> ScalFMM_USE_MEM_STATS to profile memory * <li> SCALFMM_USE_MEM_STATS to profile memory
* <li> ScalFMM_USE_SSE compile with SEE support * <li> SCALFMM_USE_SSE compile with SEE support
* <li> ScalFMM_USE_AVX compile with AVX support * <li> SCALFMM_USE_AVX compile with AVX support
* <li> * <li>
* </ul> * </ul>
* *
......
...@@ -4,7 +4,7 @@ if(insource) ...@@ -4,7 +4,7 @@ if(insource)
MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto scalfmm/Build and tapes cmake ../") MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto scalfmm/Build and tapes cmake ../")
endif(insource) endif(insource)
project(Examples_scalfmm CXX) project(EXAMPLES_SCALFMM CXX)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BUILD_TYPE}) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BUILD_TYPE})
ADD_DEFINITIONS( ${ScaLFMM_CXX_FLAGS}) ADD_DEFINITIONS( ${ScaLFMM_CXX_FLAGS})
# Find all code files # Find all code files
...@@ -36,7 +36,7 @@ foreach(exec ${source_tests_files}) ...@@ -36,7 +36,7 @@ foreach(exec ${source_tests_files})
foreach(fuse_key ${FUSE_LIST}) foreach(fuse_key ${FUSE_LIST})
file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}") file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
if(lines_fuse) if(lines_fuse)
if( NOT ScalFMM_USE_${fuse_key} ) if( NOT SCALFMM_USE_${fuse_key} )
MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" ) MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
set(compile_exec "FALSE") set(compile_exec "FALSE")
endif() endif()
......
...@@ -71,13 +71,9 @@ int main(int argc, char* argv[]) ...@@ -71,13 +71,9 @@ int main(int argc, char* argv[])
const unsigned int SubTreeHeight = FParameters::getValue(argc, argv, FParameterDefinitions::OctreeSubHeight.options, 2); const unsigned int SubTreeHeight = FParameters::getValue(argc, argv, FParameterDefinitions::OctreeSubHeight.options, 2);
const unsigned int NbThreads = FParameters::getValue(argc, argv, FParameterDefinitions::NbThreads.options, 1); const unsigned int NbThreads = FParameters::getValue(argc, argv, FParameterDefinitions::NbThreads.options, 1);
#ifdef _OPENMP
omp_set_num_threads(NbThreads); omp_set_num_threads(NbThreads);
std::cout << "\n>> Using " << omp_get_max_threads() << " threads.\n" << std::endl; std::cout << "\n>> Using " << omp_get_max_threads() << " threads.\n" << std::endl;
#else
std::cout << "\n>> Sequential version.\n" << std::endl;
#endif
// //
std::cout << "Parameters "<< std::endl std::cout << "Parameters "<< std::endl
<< " Octree Depth "<< TreeHeight <<std::endl << " Octree Depth "<< TreeHeight <<std::endl
...@@ -201,6 +197,8 @@ int main(int argc, char* argv[]) ...@@ -201,6 +197,8 @@ int main(int argc, char* argv[])
if(app.global().processId() == 0){ if(app.global().processId() == 0){
printf("Time used : \t MIN : %f \t MAX %f \n",minTime,maxTime); printf("Time used : \t MIN : %f \t MAX %f \n",minTime,maxTime);
} }
delete kernels;
} }
// ----------------------------------------------------- // -----------------------------------------------------
// //
...@@ -249,6 +247,5 @@ int main(int argc, char* argv[]) ...@@ -249,6 +247,5 @@ int main(int argc, char* argv[])
} }
// ----------------------------------------------------- // -----------------------------------------------------
return 0; return 0;
} }
...@@ -50,6 +50,8 @@ ...@@ -50,6 +50,8 @@
#include "Utils/FParameterNames.hpp" #include "Utils/FParameterNames.hpp"
#include <memory>
/** /**
* This program runs the FMM Algorithm with the uniform interpolation kernel and compares the results with a direct computation. * This program runs the FMM Algorithm with the uniform interpolation kernel and compares the results with a direct computation.
*/ */
...@@ -152,9 +154,9 @@ int main(int argc, char* argv[]) ...@@ -152,9 +154,9 @@ int main(int argc, char* argv[])
time.tic(); time.tic();
// //
KernelClass *kernels = new KernelClass(TreeHeight, loader.getBoxWidth(), loader.getCenterOfBox(),&MatrixKernel); std::unique_ptr<KernelClass> kernels(new KernelClass(TreeHeight, loader.getBoxWidth(), loader.getCenterOfBox(),&MatrixKernel));
// //
FmmClass algo(&tree, kernels); FmmClass algo(&tree, kernels.get());
// //
algo.execute(); // Here the call of the FMM algorithm algo.execute(); // Here the call of the FMM algorithm
// //
...@@ -254,6 +256,8 @@ int main(int argc, char* argv[]) ...@@ -254,6 +256,8 @@ int main(int argc, char* argv[])
writer.writeHeader( loader.getCenterOfBox(), loader.getBoxWidth() , NbPoints, sizeof(FReal), 8) ; writer.writeHeader( loader.getCenterOfBox(), loader.getBoxWidth() , NbPoints, sizeof(FReal), 8) ;
writer.writeArrayOfReal(particles, 8 , NbPoints); writer.writeArrayOfReal(particles, 8 , NbPoints);
delete[] particles;
} }
return 0; return 0;
......
...@@ -92,6 +92,6 @@ int main(int argc, char ** argv){ ...@@ -92,6 +92,6 @@ int main(int argc, char ** argv){
driverExportData(outfilename, particles , NbPoints,loader.getNbRecordPerline() ); driverExportData(outfilename, particles , NbPoints,loader.getNbRecordPerline() );
} }
// //
delete particles ; delete[] particles ;
return 0; return 0;
} }
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
#include "Core/FFmmAlgorithmThread.hpp" #include "Core/FFmmAlgorithmThread.hpp"
#ifdef ScalFMM_USE_BLAS #ifdef SCALFMM_USE_BLAS
// chebyshev kernel // chebyshev kernel
#include "Kernels/Chebyshev/FChebCell.hpp" #include "Kernels/Chebyshev/FChebCell.hpp"
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
// //
// spherical kernel // spherical kernel
#include "Kernels/Spherical/FSphericalCell.hpp" #include "Kernels/Spherical/FSphericalCell.hpp"
#ifdef ScalFMM_USE_BLAS #ifdef SCALFMM_USE_BLAS
#include "Kernels/Spherical/FSphericalBlasKernel.hpp" #include "Kernels/Spherical/FSphericalBlasKernel.hpp"
#include "Kernels/Spherical/FSphericalBlockBlasKernel.hpp" #include "Kernels/Spherical/FSphericalBlockBlasKernel.hpp"
#endif #endif
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
#include "Kernels/Rotation/FRotationKernel.hpp" #include "Kernels/Rotation/FRotationKernel.hpp"
#include "Kernels/Rotation/FRotationCell.hpp" #include "Kernels/Rotation/FRotationCell.hpp"
#ifdef ScalFMM_USE_FFT #ifdef SCALFMM_USE_FFT
// Uniform grid kernel // Uniform grid kernel
#include "Kernels/Uniform/FUnifCell.hpp" #include "Kernels/Uniform/FUnifCell.hpp"
#include "Kernels/Interpolation/FInterpMatrixKernel.hpp" #include "Kernels/Interpolation/FInterpMatrixKernel.hpp"
...@@ -153,7 +153,7 @@ int main(int argc, char* argv[]) ...@@ -153,7 +153,7 @@ int main(int argc, char* argv[])
std::cout << " Energy of the system: "<< energyD <<std::endl; std::cout << " Energy of the system: "<< energyD <<std::endl;
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
#ifdef ScalFMM_USE_BLAS #ifdef SCALFMM_USE_BLAS
{ // begin Chebyshev kernel { // begin Chebyshev kernel
// accuracy // accuracy
...@@ -449,7 +449,7 @@ int main(int argc, char* argv[]) ...@@ -449,7 +449,7 @@ int main(int argc, char* argv[])
#endif #endif
#ifdef ScalFMM_USE_FFT #ifdef SCALFMM_USE_FFT
// //
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
// //
...@@ -545,7 +545,7 @@ int main(int argc, char* argv[]) ...@@ -545,7 +545,7 @@ int main(int argc, char* argv[])
typedef FSphericalKernel<FReal, CellClass, ContainerClass > KernelClass; typedef FSphericalKernel<FReal, CellClass, ContainerClass > KernelClass;
typedef FFmmAlgorithmThread<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass > FmmClass; typedef FFmmAlgorithmThread<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass > FmmClass;
#ifndef ScalFMM_USE_BLAS #ifndef SCALFMM_USE_BLAS
CellClass::Init(DevP, true); CellClass::Init(DevP, true);
#endif #endif
OctreeClass tree(TreeHeight, SubTreeHeight, loader.getBoxWidth(), loader.getCenterOfBox()); OctreeClass tree(TreeHeight, SubTreeHeight, loader.getBoxWidth(), loader.getCenterOfBox());
......
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# #
# ScalFMMConfig.cmake - ScalFMM CMake configuration file for external projects. # SCALFMMConfig.cmake - SCALFMM CMake configuration file for external projects.
# #
# This file is configured by ScalFMM and used by the ScalFMM.cmake module # This file is configured by SCALFMM and used by the SCALFMM.cmake module
# to load ScalFMM's settings for an external project. # to load SCALFMM's settings for an external project.
# #
@ScalFMM_CONFIG_INSTALL_ONLY@ @SCALFMM_CONFIG_INSTALL_ONLY@
# #
SET(ScalFMM_VERSION_MAJOR "@ScalFMM_MAJOR_VERSION@") SET(SCALFMM_VERSION_MAJOR "@SCALFMM_MAJOR_VERSION@")
SET(ScalFMM_VERSION_MINOR "@ScalFMM_MINOR_VERSION@") SET(SCALFMM_VERSION_MINOR "@SCALFMM_MINOR_VERSION@")
SET(ScalFMM_VERSION_BUILD "@ScalFMM_BUILD_VERSION@") SET(SCALFMM_VERSION_BUILD "@SCALFMM_BUILD_VERSION@")
# #
SET(ScalFMM_PREFIX "@CMAKE_INSTALL_PREFIX@") SET(SCALFMM_PREFIX "@CMAKE_INSTALL_PREFIX@")
SET(ScalFMM_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include") SET(SCALFMM_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include")
SET(ScalFMM_LIBRARIES_DIR "@CMAKE_INSTALL_PREFIX@/lib") SET(SCALFMM_LIBRARIES_DIR "@CMAKE_INSTALL_PREFIX@/lib")
SET(ScalFMM_LIBRARIES_ADD "@SCALFMM_LIBRARIES@") SET(SCALFMM_LIBRARIES_ADD "@SCALFMM_LIBRARIES@")
SET(ScalFMM_LIBRARY_NAME "@scalfmm_lib@") SET(SCALFMM_LIBRARY_NAME "@scalfmm_lib@")
SET(ScaLFMM_CXX_FLAGS "@ScaLFMM_CXX_FLAGS@") SET(ScaLFMM_CXX_FLAGS "@ScaLFMM_CXX_FLAGS@")
# #
SET(ScalFMM_SOURCE_DIR "@ScalFMM_SOURCE_DIR@") SET(SCALFMM_SOURCE_DIR "@SCALFMM_SOURCE_DIR@")
SET(ScalFMM_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@") SET(SCALFMM_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@")
SET(ScalFMM_USE_FILE "@ScalFMM_USE_FILE@") SET(SCALFMM_USE_FILE "@SCALFMM_USE_FILE@")
# #
SET(ScalFMM_BUILD_TYPE "@CMAKE_BUILD_TYPE@") SET(SCALFMM_BUILD_TYPE "@CMAKE_BUILD_TYPE@")
# #
# ScalFMM Options # SCALFMM Options
# #
SET(ScalFMM_USE_MPI "@ScalFMM_USE_MPI@") SET(SCALFMM_USE_MPI "@SCALFMM_USE_MPI@")
SET(ScalFMM_USE_BLAS "@ScaLFMM_USE_BLAS@") SET(SCALFMM_USE_BLAS "@ScaLFMM_USE_BLAS@")
SET(ScalFMM_USE_MKL "@ScalFMM_USE_MKL_AS_BLAS@") SET(SCALFMM_USE_MKL "@SCALFMM_USE_MKL_AS_BLAS@")
SET(ScalFMM_USE_DOUBLE_PRECISION "@ScalFMM_USE_DOUBLE_PRECISION@") SET(SCALFMM_USE_DOUBLE_PRECISION "@SCALFMM_USE_DOUBLE_PRECISION@")
SET(ScalFMM_USE_MEM_STATS "@ScalFMM_USE_MEM_STATS@") SET(SCALFMM_USE_MEM_STATS "@SCALFMM_USE_MEM_STATS@")
SET(ScalFMM_USE_SSE "@ScalFMM_USE_SSE@") SET(SCALFMM_USE_SSE "@SCALFMM_USE_SSE@")
SET(ScalFMM_FLAGS "@ScaLFMM_FLAGS_OPTI@") SET(SCALFMM_FLAGS "@ScaLFMM_FLAGS_OPTI@")
SET(ScalFMM_USE_ADDONS "@ScalFMM_USE_ADDONS@") SET(SCALFMM_USE_ADDONS "@SCALFMM_USE_ADDONS@")
SET(ScalFMM_USE_LOG "@ScalFMM_USE_LOG@") SET(SCALFMM_USE_LOG "@SCALFMM_USE_LOG@")
SET(ScalFMM_USE_FFT "@ScalFMM_USE_FFT@") SET(SCALFMM_USE_FFT "@SCALFMM_USE_FFT@")
SET(ScalFMM_USE_STARPU "@ScalFMM_USE_STARPU@") SET(SCALFMM_USE_STARPU "@SCALFMM_USE_STARPU@")
SET(ScalFMM_USE_SSE "@ScalFMM_USE_SSE@") SET(SCALFMM_USE_SSE "@SCALFMM_USE_SSE@")
SET(ScalFMM_USE_AVX "@ScalFMM_USE_AVX@") SET(SCALFMM_USE_AVX "@SCALFMM_USE_AVX@")
# #
SET(ScalFMM_DOC_TAGS "@CMAKE_BINARY_DIR@/Doc/scalfmm.tag") SET(SCALFMM_DOC_TAGS "@CMAKE_BINARY_DIR@/Doc/scalfmm.tag")
# #
IF(ScalFMM_USE_ADDONS) IF(SCALFMM_USE_ADDONS)
SET(ScalFMM_LIBRARIES "-L${ScalFMM_LIBRARIES_DIR} -l${ScalFMM_LIBRARY_NAME} ${ScalFMM_LIBRARIES_ADD}" ) SET(SCALFMM_LIBRARIES "-L${SCALFMM_LIBRARIES_DIR} -l${SCALFMM_LIBRARY_NAME} ${SCALFMM_LIBRARIES_ADD}" )
ELSE() ELSE()
SET(ScalFMM_LIBRARIES "-L${ScalFMM_LIBRARIES_DIR} -l${ScalFMM_LIBRARY_NAME}" ) SET(SCALFMM_LIBRARIES "-L${SCALFMM_LIBRARIES_DIR} -l${SCALFMM_LIBRARY_NAME}" )
ENDIF() ENDIF()
SET(ScalFMM_INCLUDE_DIRS ${ScalFMM_INCLUDE_DIR} SET(SCALFMM_INCLUDE_DIRS ${SCALFMM_INCLUDE_DIR}
${ScalFMM_INCLUDE_DIR}/Utils ${SCALFMM_INCLUDE_DIR}/Utils
${ScalFMM_INCLUDE_DIR}/Components ${SCALFMM_INCLUDE_DIR}/Components
${ScalFMM_INCLUDE_DIR}/Arranger ${SCALFMM_INCLUDE_DIR}/Arranger
${ScalFMM_INCLUDE_DIR}/Containers ${SCALFMM_INCLUDE_DIR}/Containers
${ScalFMM_INCLUDE_DIR}/Core ${SCALFMM_INCLUDE_DIR}/Core
${ScalFMM_INCLUDE_DIR}/Extensions ${SCALFMM_INCLUDE_DIR}/Extensions
${ScalFMM_INCLUDE_DIR}/Files ${SCALFMM_INCLUDE_DIR}/Files
${ScalFMM_INCLUDE_DIR}/Kernels ${SCALFMM_INCLUDE_DIR}/Kernels
${ScalFMM_INCLUDE_DIR}/Chebyshev) ${SCALFMM_INCLUDE_DIR}/Chebyshev)
#SCALFMM_BUILD_TESTS => OFF #SCALFMM_BUILD_TESTS => OFF
#SCALFMM_BUILD_UTESTS => OFF #SCALFMM_BUILD_UTESTS => OFF
...@@ -18,7 +18,7 @@ file( ...@@ -18,7 +18,7 @@ file(
) )
# Add CUDA files once they are compiled from cu to .o # Add CUDA files once they are compiled from cu to .o
if(ScalFMM_USE_CUDA) if(SCALFMM_USE_CUDA)
# Find all the CU files in my project # Find all the CU files in my project
file(GLOB_RECURSE source_cu_files ./*.cu) file(GLOB_RECURSE source_cu_files ./*.cu)
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include "FFmmAlgorithmThread.hpp" #include "FFmmAlgorithmThread.hpp"
#include "FFmmAlgorithmPeriodic.hpp" #include "FFmmAlgorithmPeriodic.hpp"
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
#include "../Utils/FMpi.hpp" #include "../Utils/FMpi.hpp"
#include "FFmmAlgorithmThreadProc.hpp" #include "FFmmAlgorithmThreadProc.hpp"
#include "FFmmAlgorithmThreadProcPeriodic.hpp" #include "FFmmAlgorithmThreadProcPeriodic.hpp"
...@@ -86,7 +86,7 @@ public: ...@@ -86,7 +86,7 @@ public:
static FAbstractAlgorithm* BuildAlgorithm(OctreeClass*const tree, KernelClass*const kernel, static FAbstractAlgorithm* BuildAlgorithm(OctreeClass*const tree, KernelClass*const kernel,
const MPI_Comm mpiComm = (MPI_Comm)0, const bool isPeriodic = false, const MPI_Comm mpiComm = (MPI_Comm)0, const bool isPeriodic = false,
const int periodicUpperlevel = 0){ const int periodicUpperlevel = 0){
#ifdef ScalFMM_USE_MPI #ifdef SCALFMM_USE_MPI
if(isPeriodic == false){ if(isPeriodic == false){
return new FFmmAlgorithmThreadProc<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(FMpi::FComm(mpiComm), tree, kernel); return new FFmmAlgorithmThreadProc<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(FMpi::FComm(mpiComm), tree, kernel);
} }
......
...@@ -482,7 +482,7 @@ public: ...@@ -482,7 +482,7 @@ public:
delete[] particlesArrayInLeafOrder; delete[] particlesArrayInLeafOrder;
delete[] leavesOffsetInParticles; delete[] leavesOffsetInParticles;
#ifdef ScalFMM_USE_LOG #ifdef SCALFMM_USE_LOG
/** To produce stats after the Equalize phase */ /** To produce stats after the Equalize phase */
{ {
const int finalNbParticles = particleSaver->getSize(); const int finalNbParticles = particleSaver->getSize();
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#ifdef STARPU_USE_CPU #ifdef STARPU_USE_CPU
#include "../StarPUUtils/FStarPUCpuWrapper.hpp" #include "../StarPUUtils/FStarPUCpuWrapper.hpp"
#endif #endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL #ifdef SCALFMM_ENABLE_CUDA_KERNEL