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)
MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto ./Build and tapes cmake ../")
endif(insource)
project(Addons_ckernelapi_scalfmm CXX C)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ScaLFMM_CXX_FLAGS}")
project(ADDONS_CKERNELAPI_SCALFMM CXX C)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SCALFMM_CXX_FLAGS}")
# Active language
# -----------------------
......@@ -14,7 +14,7 @@ MESSAGE(STATUS " CXX ${CMAKE_CXX_COMPILER_ID}" )
# if ask to build addon
if(ScalFMM_ADDON_CKERNELAPI)
if(SCALFMM_ADDON_CKERNELAPI)
# first build lib scalfmmckernelapi
set(LIBRARY_OUTPUT_PATH ../lib/${CMAKE_BUILD_TYPE})
......@@ -58,7 +58,7 @@ if(ScalFMM_ADDON_CKERNELAPI)
foreach(fuse_key ${FUSE_LIST})
file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
if(lines_fuse)
if( NOT ScalFMM_USE_${fuse_key} )
if( NOT SCALFMM_USE_${fuse_key} )
MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
set(compile_exec "FALSE")
endif()
......
......@@ -60,7 +60,7 @@ if(SCALFMM_ADDON_FMMAPI)
foreach(fuse_key ${FUSE_LIST})
file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
if(lines_fuse)
if( NOT ScalFMM_USE_${fuse_key} )
if( NOT SCALFMM_USE_${fuse_key} )
MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
set(compile_exec "FALSE")
endif()
......
......@@ -24,7 +24,7 @@
#include "../../Src/Components/FBasicParticleContainer.hpp"
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
#include "../../Src/Utils/FMpi.hpp"
#endif
......@@ -268,7 +268,7 @@ struct ScalFmmCoreHandle {
int treeHeight; // hombre de niveaux de l'arbre (int)
FReal boxWidth; // taille de la boîte racine (FReal)
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)
#endif
int nbThreads; // nombre de threads (int)
......@@ -304,7 +304,7 @@ int FmmCore_isParameterUsed(void */*fmmCore*/, int *name, int *flag){
case FMMCORE_ROOT_BOX_WIDTH :
case FMMCORE_ROOT_BOX_CENTER :
case FMMCORE_TREE_HEIGHT :
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
case FMMCORE_MPI_COMMUNICATOR:
#endif
case FMMCORE_THREADS_NUMBER:
......@@ -343,7 +343,7 @@ int FmmCore_setParameter(void *fmmCore, int *name, void*value){
case FMMCORE_ROOT_BOX_CENTER :
memcpy(corehandle->config.boxCenter, value, sizeof(FReal)*3);
break;
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
case FMMCORE_MPI_COMMUNICATOR:
corehandle->config.mpiCom = *(MPI_Comm*)value;
break;
......@@ -388,7 +388,7 @@ int FmmCore_getParameter(void *fmmCore, int *name, void*value){
case FMMCORE_ROOT_BOX_CENTER :
memcpy(value,corehandle->config.boxCenter, sizeof(FReal)*3);
break;
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
case FMMCORE_MPI_COMMUNICATOR:
*(MPI_Comm*)value = corehandle->config.mpiCom;
break;
......
This diff is collapsed.
# add a target to generate API documentation with Doxygen
OPTION( ScalFMM_BUILD_DOC "Set to ON to build the Doxygen documentation " OFF )
IF(ScalFMM_BUILD_DOC)
OPTION( SCALFMM_BUILD_DOC "Set to ON to build the Doxygen documentation " OFF )
IF(SCALFMM_BUILD_DOC)
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
......@@ -10,11 +10,11 @@ IF(ScalFMM_BUILD_DOC)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
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/
# )
# INSTALL(DIRECTORY ${ScalFMM_BINARY_DIR}/Doc/html
# INSTALL(DIRECTORY ${SCALFMM_BINARY_DIR}/Doc/html
# DESTINATION doc/
# )
endif(DOXYGEN_FOUND)
endif(ScalFMM_BUILD_DOC)
endif(SCALFMM_BUILD_DOC)
......@@ -40,8 +40,8 @@
* </ul>
*
* an example : <br>
* <b> cmake -DScalFMM_USE_BLAS=ON -DScalFMM_USE_MKL_AS_BLAS=ON \ <br>
* -DScalFMM_USE_SSE=OFF -DScalFMM_USE_AVX=ON ../ </b>
* <b> cmake -DSCALFMM_USE_BLAS=ON -DSCALFMM_USE_MKL_AS_BLAS=ON \ <br>
* -DSCALFMM_USE_SSE=OFF -DSCALFMM_USE_AVX=ON ../ </b>
*
* \subsection conf Configuration of the build
*
......@@ -49,33 +49,33 @@
*
* <ul>
* <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_ATTACHE_SOURCE : to build with -g </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_USE_ADDONS : to activate add ons </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> SSCALFMM_BUILD_TESTS : to build the text and the examples </li>
* <li> SCALFMM_BUILD_UTESTS : to build the unit tests </li>
* <li> SCALFMM_USE_ADDONS : to activate add ons </li>
* <ul>
* <li> SCALFMM_ADDON_FMMAPI : to build Fmm Api </li>
* </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> 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>
* <li> SCALFMM_USE_MKL_AS_BLAS : to use MKL as blas </li>
* </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>
* <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>
* <li> ScalFMM_USE_TRACE : to create trace </li>
* <li> SCALFMM_USE_TRACE : to create trace </li>
* <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>
* <li> ScalFMM_USE_LOG to print output debug information
* <li> ScalFMM_USE_ASSERT enable safe tests during execution
* <li> ScalFMM_USE_MEM_STATS to profile memory
* <li> ScalFMM_USE_SSE compile with SEE support
* <li> ScalFMM_USE_AVX compile with AVX support
* <li> SCALFMM_USE_LOG to print output debug information
* <li> SCALFMM_USE_ASSERT enable safe tests during execution
* <li> SCALFMM_USE_MEM_STATS to profile memory
* <li> SCALFMM_USE_SSE compile with SEE support
* <li> SCALFMM_USE_AVX compile with AVX support
* <li>
* </ul>
*
......
......@@ -4,7 +4,7 @@ if(insource)
MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto scalfmm/Build and tapes cmake ../")
endif(insource)
project(Examples_scalfmm CXX)
project(EXAMPLES_SCALFMM CXX)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BUILD_TYPE})
ADD_DEFINITIONS( ${ScaLFMM_CXX_FLAGS})
# Find all code files
......@@ -36,7 +36,7 @@ foreach(exec ${source_tests_files})
foreach(fuse_key ${FUSE_LIST})
file(STRINGS "${exec}" lines_fuse REGEX "@FUSE_${fuse_key}")
if(lines_fuse)
if( NOT ScalFMM_USE_${fuse_key} )
if( NOT SCALFMM_USE_${fuse_key} )
MESSAGE( STATUS "This needs ${fuse_key} = ${exec}" )
set(compile_exec "FALSE")
endif()
......
This diff is collapsed.
This diff is collapsed.
......@@ -92,6 +92,6 @@ int main(int argc, char ** argv){
driverExportData(outfilename, particles , NbPoints,loader.getNbRecordPerline() );
}
//
delete particles ;
delete[] particles ;
return 0;
}
......@@ -36,7 +36,7 @@
#include "Core/FFmmAlgorithmThread.hpp"
#ifdef ScalFMM_USE_BLAS
#ifdef SCALFMM_USE_BLAS
// chebyshev kernel
#include "Kernels/Chebyshev/FChebCell.hpp"
......@@ -47,7 +47,7 @@
//
// spherical kernel
#include "Kernels/Spherical/FSphericalCell.hpp"
#ifdef ScalFMM_USE_BLAS
#ifdef SCALFMM_USE_BLAS
#include "Kernels/Spherical/FSphericalBlasKernel.hpp"
#include "Kernels/Spherical/FSphericalBlockBlasKernel.hpp"
#endif
......@@ -67,7 +67,7 @@
#include "Kernels/Rotation/FRotationKernel.hpp"
#include "Kernels/Rotation/FRotationCell.hpp"
#ifdef ScalFMM_USE_FFT
#ifdef SCALFMM_USE_FFT
// Uniform grid kernel
#include "Kernels/Uniform/FUnifCell.hpp"
#include "Kernels/Interpolation/FInterpMatrixKernel.hpp"
......@@ -153,7 +153,7 @@ int main(int argc, char* argv[])
std::cout << " Energy of the system: "<< energyD <<std::endl;
////////////////////////////////////////////////////////////////////
#ifdef ScalFMM_USE_BLAS
#ifdef SCALFMM_USE_BLAS
{ // begin Chebyshev kernel
// accuracy
......@@ -449,7 +449,7 @@ int main(int argc, char* argv[])
#endif
#ifdef ScalFMM_USE_FFT
#ifdef SCALFMM_USE_FFT
//
////////////////////////////////////////////////////////////////////
//
......@@ -545,7 +545,7 @@ int main(int argc, char* argv[])
typedef FSphericalKernel<FReal, CellClass, ContainerClass > KernelClass;
typedef FFmmAlgorithmThread<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass > FmmClass;
#ifndef ScalFMM_USE_BLAS
#ifndef SCALFMM_USE_BLAS
CellClass::Init(DevP, true);
#endif
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
# to load ScalFMM's settings for an external project.
# This file is configured by SCALFMM and used by the SCALFMM.cmake module
# 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_MINOR "@ScalFMM_MINOR_VERSION@")
SET(ScalFMM_VERSION_BUILD "@ScalFMM_BUILD_VERSION@")
SET(SCALFMM_VERSION_MAJOR "@SCALFMM_MAJOR_VERSION@")
SET(SCALFMM_VERSION_MINOR "@SCALFMM_MINOR_VERSION@")
SET(SCALFMM_VERSION_BUILD "@SCALFMM_BUILD_VERSION@")
#
SET(ScalFMM_PREFIX "@CMAKE_INSTALL_PREFIX@")
SET(ScalFMM_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include")
SET(ScalFMM_LIBRARIES_DIR "@CMAKE_INSTALL_PREFIX@/lib")
SET(ScalFMM_LIBRARIES_ADD "@SCALFMM_LIBRARIES@")
SET(ScalFMM_LIBRARY_NAME "@scalfmm_lib@")
SET(SCALFMM_PREFIX "@CMAKE_INSTALL_PREFIX@")
SET(SCALFMM_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include")
SET(SCALFMM_LIBRARIES_DIR "@CMAKE_INSTALL_PREFIX@/lib")
SET(SCALFMM_LIBRARIES_ADD "@SCALFMM_LIBRARIES@")
SET(SCALFMM_LIBRARY_NAME "@scalfmm_lib@")
SET(ScaLFMM_CXX_FLAGS "@ScaLFMM_CXX_FLAGS@")
#
SET(ScalFMM_SOURCE_DIR "@ScalFMM_SOURCE_DIR@")
SET(ScalFMM_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@")
SET(ScalFMM_USE_FILE "@ScalFMM_USE_FILE@")
SET(SCALFMM_SOURCE_DIR "@SCALFMM_SOURCE_DIR@")
SET(SCALFMM_BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@")
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_BLAS "@ScaLFMM_USE_BLAS@")
SET(ScalFMM_USE_MKL "@ScalFMM_USE_MKL_AS_BLAS@")
SET(ScalFMM_USE_DOUBLE_PRECISION "@ScalFMM_USE_DOUBLE_PRECISION@")
SET(ScalFMM_USE_MEM_STATS "@ScalFMM_USE_MEM_STATS@")
SET(ScalFMM_USE_SSE "@ScalFMM_USE_SSE@")
SET(ScalFMM_FLAGS "@ScaLFMM_FLAGS_OPTI@")
SET(ScalFMM_USE_ADDONS "@ScalFMM_USE_ADDONS@")
SET(ScalFMM_USE_LOG "@ScalFMM_USE_LOG@")
SET(ScalFMM_USE_FFT "@ScalFMM_USE_FFT@")
SET(ScalFMM_USE_STARPU "@ScalFMM_USE_STARPU@")
SET(ScalFMM_USE_SSE "@ScalFMM_USE_SSE@")
SET(ScalFMM_USE_AVX "@ScalFMM_USE_AVX@")
SET(SCALFMM_USE_MPI "@SCALFMM_USE_MPI@")
SET(SCALFMM_USE_BLAS "@ScaLFMM_USE_BLAS@")
SET(SCALFMM_USE_MKL "@SCALFMM_USE_MKL_AS_BLAS@")
SET(SCALFMM_USE_DOUBLE_PRECISION "@SCALFMM_USE_DOUBLE_PRECISION@")
SET(SCALFMM_USE_MEM_STATS "@SCALFMM_USE_MEM_STATS@")
SET(SCALFMM_USE_SSE "@SCALFMM_USE_SSE@")
SET(SCALFMM_FLAGS "@ScaLFMM_FLAGS_OPTI@")
SET(SCALFMM_USE_ADDONS "@SCALFMM_USE_ADDONS@")
SET(SCALFMM_USE_LOG "@SCALFMM_USE_LOG@")
SET(SCALFMM_USE_FFT "@SCALFMM_USE_FFT@")
SET(SCALFMM_USE_STARPU "@SCALFMM_USE_STARPU@")
SET(SCALFMM_USE_SSE "@SCALFMM_USE_SSE@")
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)
SET(ScalFMM_LIBRARIES "-L${ScalFMM_LIBRARIES_DIR} -l${ScalFMM_LIBRARY_NAME} ${ScalFMM_LIBRARIES_ADD}" )
IF(SCALFMM_USE_ADDONS)
SET(SCALFMM_LIBRARIES "-L${SCALFMM_LIBRARIES_DIR} -l${SCALFMM_LIBRARY_NAME} ${SCALFMM_LIBRARIES_ADD}" )
ELSE()
SET(ScalFMM_LIBRARIES "-L${ScalFMM_LIBRARIES_DIR} -l${ScalFMM_LIBRARY_NAME}" )
SET(SCALFMM_LIBRARIES "-L${SCALFMM_LIBRARIES_DIR} -l${SCALFMM_LIBRARY_NAME}" )
ENDIF()
SET(ScalFMM_INCLUDE_DIRS ${ScalFMM_INCLUDE_DIR}
${ScalFMM_INCLUDE_DIR}/Utils
${ScalFMM_INCLUDE_DIR}/Components
${ScalFMM_INCLUDE_DIR}/Arranger
${ScalFMM_INCLUDE_DIR}/Containers
${ScalFMM_INCLUDE_DIR}/Core
${ScalFMM_INCLUDE_DIR}/Extensions
${ScalFMM_INCLUDE_DIR}/Files
${ScalFMM_INCLUDE_DIR}/Kernels
${ScalFMM_INCLUDE_DIR}/Chebyshev)
SET(SCALFMM_INCLUDE_DIRS ${SCALFMM_INCLUDE_DIR}
${SCALFMM_INCLUDE_DIR}/Utils
${SCALFMM_INCLUDE_DIR}/Components
${SCALFMM_INCLUDE_DIR}/Arranger
${SCALFMM_INCLUDE_DIR}/Containers
${SCALFMM_INCLUDE_DIR}/Core
${SCALFMM_INCLUDE_DIR}/Extensions
${SCALFMM_INCLUDE_DIR}/Files
${SCALFMM_INCLUDE_DIR}/Kernels
${SCALFMM_INCLUDE_DIR}/Chebyshev)
#SCALFMM_BUILD_TESTS => OFF
#SCALFMM_BUILD_UTESTS => OFF
......@@ -18,7 +18,7 @@ file(
)
# 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
file(GLOB_RECURSE source_cu_files ./*.cu)
......
......@@ -25,7 +25,7 @@
#include "FFmmAlgorithmThread.hpp"
#include "FFmmAlgorithmPeriodic.hpp"
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
#include "../Utils/FMpi.hpp"
#include "FFmmAlgorithmThreadProc.hpp"
#include "FFmmAlgorithmThreadProcPeriodic.hpp"
......@@ -86,7 +86,7 @@ public:
static FAbstractAlgorithm* BuildAlgorithm(OctreeClass*const tree, KernelClass*const kernel,
const MPI_Comm mpiComm = (MPI_Comm)0, const bool isPeriodic = false,
const int periodicUpperlevel = 0){
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
if(isPeriodic == false){
return new FFmmAlgorithmThreadProc<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(FMpi::FComm(mpiComm), tree, kernel);
}
......
......@@ -482,7 +482,7 @@ public:
delete[] particlesArrayInLeafOrder;
delete[] leavesOffsetInParticles;
#ifdef ScalFMM_USE_LOG
#ifdef SCALFMM_USE_LOG
/** To produce stats after the Equalize phase */
{
const int finalNbParticles = particleSaver->getSize();
......
......@@ -24,7 +24,7 @@
#ifdef STARPU_USE_CPU
#include "../StarPUUtils/FStarPUCpuWrapper.hpp"
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
#include "../StarPUUtils/FStarPUCudaWrapper.hpp"
#include "../Cuda/FCudaEmptyKernel.hpp"
#include "../Cuda/FCudaGroupAttachedLeaf.hpp"
......@@ -32,28 +32,28 @@
#include "../Cuda/FCudaGroupOfCells.hpp"
#include "../Cuda/FCudaEmptyCellSymb.hpp"
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
#include "../StarPUUtils/FStarPUOpenClWrapper.hpp"
#include "../OpenCl/FOpenCLDeviceWrapper.hpp"
#endif
template <class OctreeClass, class CellContainerClass, class KernelClass, class ParticleGroupClass, class StarPUCpuWrapperClass
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
, class StarPUCudaWrapperClass = FStarPUCudaWrapper<KernelClass, FCudaEmptyCellSymb, int, int, FCudaGroupOfCells<FCudaEmptyCellSymb, int, int>,
FCudaGroupOfParticles<int, 0, 0, int>, FCudaGroupAttachedLeaf<int, 0, 0, int>, FCudaEmptyKernel<int> >
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
, class StarPUOpenClWrapperClass = FStarPUOpenClWrapper<KernelClass, FOpenCLDeviceWrapper<KernelClass>>
#endif
>
class FGroupTaskStarPUAlgorithm {
protected:
typedef FGroupTaskStarPUAlgorithm<OctreeClass, CellContainerClass, KernelClass, ParticleGroupClass, StarPUCpuWrapperClass
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
, StarPUCudaWrapperClass
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
, StarPUOpenClWrapperClass
#endif
> ThisClass;
......@@ -100,10 +100,10 @@ protected:
#ifdef STARPU_USE_CPU
StarPUCpuWrapperClass cpuWrapper;
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
StarPUCudaWrapperClass cudaWrapper;
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
StarPUOpenClWrapperClass openclWrapper;
#endif
......@@ -117,10 +117,10 @@ public:
#ifdef STARPU_USE_CPU
cpuWrapper(tree->getHeight()),
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
cudaWrapper(tree->getHeight()),
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
openclWrapper(tree->getHeight()),
#endif
wrapperptr(&wrappers){
......@@ -143,7 +143,7 @@ public:
});
wrappers.set(FSTARPU_CPU_IDX, &cpuWrapper);
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
FStarPUUtils::ExecOnWorkers(STARPU_CUDA, [&](){
starpu_pthread_mutex_lock(&initMutex);
cudaWrapper.initKernel(starpu_worker_get_id(), inKernels);
......@@ -151,7 +151,7 @@ public:
});
wrappers.set(FSTARPU_CUDA_IDX, &cudaWrapper);
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
FStarPUUtils::ExecOnWorkers(STARPU_OPENCL, [&](){
starpu_pthread_mutex_lock(&initMutex);
openclWrapper.initKernel(starpu_worker_get_id(), inKernels);
......@@ -173,10 +173,10 @@ public:
#ifdef STARPU_USE_CPU
FLOG(FLog::Controller << "FGroupTaskStarPUAlgorithm (Max CPU " << starpu_cpu_worker_get_count() << ")\n");
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
FLOG(FLog::Controller << "FGroupTaskStarPUAlgorithm (Max OpenCL " << starpu_opencl_worker_get_count() << ")\n");
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
FLOG(FLog::Controller << "FGroupTaskStarPUAlgorithm (Max CUDA " << starpu_cuda_worker_get_count() << ")\n");
#endif
}
......@@ -197,7 +197,7 @@ public:
});
wrappers.set(FSTARPU_CPU_IDX, &cpuWrapper);
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
FStarPUUtils::ExecOnWorkers(STARPU_CUDA, [&](){
starpu_pthread_mutex_lock(&releaseMutex);
cudaWrapper.releaseKernel(starpu_worker_get_id());
......@@ -205,7 +205,7 @@ public:
});
wrappers.set(FSTARPU_CUDA_IDX, &cudaWrapper);
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
FStarPUUtils::ExecOnWorkers(STARPU_OPENCL, [&](){
starpu_pthread_mutex_lock(&releaseMutex);
openclWrapper.releaseKernel(starpu_worker_get_id());
......@@ -254,13 +254,13 @@ protected:
p2m_cl.where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportP2M(FSTARPU_CUDA_IDX)){
p2m_cl.cuda_funcs[0] = StarPUCudaWrapperClass::bottomPassCallback;
p2m_cl.where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportP2M(FSTARPU_OPENCL_IDX)){
p2m_cl.opencl_funcs[0] = StarPUOpenClWrapperClass::bottomPassCallback;
p2m_cl.where |= STARPU_OPENCL;
......@@ -281,13 +281,13 @@ protected:
m2m_cl[idx].where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportM2M(FSTARPU_CUDA_IDX)){
m2m_cl[idx].cuda_funcs[0] = StarPUCudaWrapperClass::upwardPassCallback;
m2m_cl[idx].where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportM2M(FSTARPU_OPENCL_IDX)){
m2m_cl[idx].opencl_funcs[0] = StarPUOpenClWrapperClass::upwardPassCallback;
m2m_cl[idx].where |= STARPU_OPENCL;
......@@ -305,13 +305,13 @@ protected:
l2l_cl[idx].where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportL2L(FSTARPU_CUDA_IDX)){
l2l_cl[idx].cuda_funcs[0] = StarPUCudaWrapperClass::downardPassCallback;
l2l_cl[idx].where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportL2L(FSTARPU_OPENCL_IDX)){
l2l_cl[idx].opencl_funcs[0] = StarPUOpenClWrapperClass::downardPassCallback;
l2l_cl[idx].where |= STARPU_OPENCL;
......@@ -338,13 +338,13 @@ protected:
l2p_cl.where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportL2P(FSTARPU_CUDA_IDX)){
l2p_cl.cuda_funcs[0] = StarPUCudaWrapperClass::mergePassCallback;
l2p_cl.where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportL2P(FSTARPU_OPENCL_IDX)){
l2p_cl.opencl_funcs[0] = StarPUOpenClWrapperClass::mergePassCallback;
l2p_cl.where |= STARPU_OPENCL;
......@@ -364,13 +364,13 @@ protected:
p2p_cl_in.where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportP2P(FSTARPU_CUDA_IDX)){
p2p_cl_in.cuda_funcs[0] = StarPUCudaWrapperClass::directInPassCallback;
p2p_cl_in.where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportP2P(FSTARPU_OPENCL_IDX)){
p2p_cl_in.opencl_funcs[0] = StarPUOpenClWrapperClass::directInPassCallback;
p2p_cl_in.where |= STARPU_OPENCL;
......@@ -387,13 +387,13 @@ protected:
p2p_cl_inout.where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportP2PExtern(FSTARPU_CUDA_IDX)){
p2p_cl_inout.cuda_funcs[0] = StarPUCudaWrapperClass::directInoutPassCallback;
p2p_cl_inout.where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportP2PExtern(FSTARPU_OPENCL_IDX)){
p2p_cl_inout.opencl_funcs[0] = StarPUOpenClWrapperClass::directInoutPassCallback;
p2p_cl_inout.where |= STARPU_OPENCL;
......@@ -413,13 +413,13 @@ protected:
m2l_cl_in.where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportM2L(FSTARPU_CUDA_IDX)){
m2l_cl_in.cuda_funcs[0] = StarPUCudaWrapperClass::transferInPassCallback;
m2l_cl_in.where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportM2L(FSTARPU_OPENCL_IDX)){
m2l_cl_in.opencl_funcs[0] = StarPUOpenClWrapperClass::transferInPassCallback;
m2l_cl_in.where |= STARPU_OPENCL;
......@@ -437,13 +437,13 @@ protected:
m2l_cl_inout.where |= STARPU_CPU;
}
#endif
#ifdef ScalFMM_ENABLE_CUDA_KERNEL
#ifdef SCALFMM_ENABLE_CUDA_KERNEL
if(originalCpuKernel->supportM2LExtern(FSTARPU_CUDA_IDX)){
m2l_cl_inout.cuda_funcs[0] = StarPUCudaWrapperClass::transferInoutPassCallback;
m2l_cl_inout.where |= STARPU_CUDA;
}
#endif
#ifdef ScalFMM_ENABLE_OPENCL_KERNEL
#ifdef SCALFMM_ENABLE_OPENCL_KERNEL
if(originalCpuKernel->supportM2LExtern(FSTARPU_OPENCL_IDX)){
m2l_cl_inout.opencl_funcs[0] = StarPUOpenClWrapperClass::transferInoutPassCallback;
m2l_cl_inout.where |= STARPU_OPENCL;
......
......@@ -137,7 +137,7 @@ __host__ void FCuda__upwardPassCallback(unsigned char* currentCellsPtr, std::siz
/////////////////////////////////////////////////////////////////////////////////////
/// Transfer Pass Mpi
/////////////////////////////////////////////////////////////////////////////////////
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template <class SymboleCellClass, class PoleCellClass, class LocalCellClass,
class CellContainerClass, class ParticleContainerGroupClass, class ParticleGroupClass, class CudaKernelClass>
__global__ void FCuda__transferInoutPassPerformMpi(unsigned char* currentCellsPtr, std::size_t currentCellsSize, unsigned char* currentCellsDownPtr,
......@@ -382,7 +382,7 @@ __host__ void FCuda__downardPassCallback(unsigned char* currentCellsPtr, std::si
/////////////////////////////////////////////////////////////////////////////////////
/// Direct Pass MPI
/////////////////////////////////////////////////////////////////////////////////////
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template <class SymboleCellClass, class PoleCellClass, class LocalCellClass,
class CellContainerClass, class ParticleContainerGroupClass, class ParticleGroupClass, class CudaKernelClass>
__global__ void FCuda__directInoutPassPerformMpi(unsigned char* containersPtr, std::size_t containersSize, unsigned char* containersDownPtr,
......@@ -618,7 +618,7 @@ template void FCuda__upwardPassCallback<FCudaEmptyCellSymb, int, int, FCudaGroup
FCudaParams<unsigned char*,9> subCellGroupsPtr, FCudaParams<std::size_t, 9> subCellGroupsSize,
FCudaParams<unsigned char*,9> subCellGroupsUpPtr,
int nbSubCellGroups, int idxLevel, FCudaEmptyKernel* kernel, cudaStream_t currentStream);
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template void FCuda__transferInoutPassCallbackMpi<FCudaEmptyCellSymb, int, int, FCudaGroupOfCells<FCudaEmptyCellSymb, int, int>,
FCudaGroupOfParticles<0,0,int>, FCudaGroupAttachedLeaf<0,0,int>, FCudaEmptyKernel >
(unsigned char* currentCellsPtr, std::size_t currentCellsSize, unsigned char* currentCellsDownPtr,
......@@ -647,7 +647,7 @@ template void FCuda__downardPassCallback<FCudaEmptyCellSymb, int, int, FCudaGrou
FCudaParams<unsigned char*,9> subCellGroupsPtr, FCudaParams<std::size_t,9> subCellGroupsSize,
FCudaParams<unsigned char*,9> subCellGroupsDownPtr,
int nbSubCellGroups, int idxLevel, FCudaEmptyKernel* kernel, cudaStream_t currentStream);
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template void FCuda__directInoutPassCallbackMpi<FCudaEmptyCellSymb, int, int, FCudaGroupOfCells<FCudaEmptyCellSymb, int, int>,
FCudaGroupOfParticles<0,0,int>, FCudaGroupAttachedLeaf<0,0,int>, FCudaEmptyKernel >
(unsigned char* containersPtr, std::size_t containersSize, unsigned char* containersDownPtr,
......@@ -695,7 +695,7 @@ template void FCuda__upwardPassCallback<FTestCellPODCore, FTestCellPODData, FTes
FCudaParams<unsigned char*,9> subCellGroupsPtr, FCudaParams<std::size_t, 9> subCellGroupsSize,
FCudaParams<unsigned char*,9> subCellGroupsUpPtr,
int nbSubCellGroups, int idxLevel, FTestCudaKernels* kernel, cudaStream_t currentStream);
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template void FCuda__transferInoutPassCallbackMpi<FTestCellPODCore, FTestCellPODData, FTestCellPODData, FCudaGroupOfCells<FTestCellPODCore, FTestCellPODData, FTestCellPODData>,
FCudaGroupOfParticles<0, 1, long long int>, FCudaGroupAttachedLeaf<0, 1, long long int>, FTestCudaKernels >
(unsigned char* currentCellsPtr, std::size_t currentCellsSize, unsigned char* currentCellsDownPtr,
......@@ -724,7 +724,7 @@ template void FCuda__downardPassCallback<FTestCellPODCore, FTestCellPODData, FTe
FCudaParams<unsigned char*,9> subCellGroupsPtr, FCudaParams<std::size_t,9> subCellGroupsSize,
FCudaParams<unsigned char*,9> subCellGroupsDownPtr,
int nbSubCellGroups, int idxLevel, FTestCudaKernels* kernel, cudaStream_t currentStream);
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template void FCuda__directInoutPassCallbackMpi<FTestCellPODCore, FTestCellPODData, FTestCellPODData, FCudaGroupOfCells<FTestCellPODCore, FTestCellPODData, FTestCellPODData>,
FCudaGroupOfParticles<0, 1, long long int>, FCudaGroupAttachedLeaf<0, 1, long long int>, FTestCudaKernels >
(unsigned char* containersPtr, std::size_t containersSize, unsigned char* containersDownPtr,
......
......@@ -20,7 +20,7 @@ void FCuda__upwardPassCallback(
FCudaParams<unsigned char*,9> subCellGroupsPtr, FCudaParams<std::size_t, 9> subCellGroupsSize,
FCudaParams<unsigned char*,9> subCellGroupsUpPtr,
int nbSubCellGroups, int idxLevel, CudaKernelClass* kernel, cudaStream_t currentStream);
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template <class SymboleCellClass, class PoleCellClass, class LocalCellClass,
class CellContainerClass, class ParticleContainerGroupClass, class ParticleGroupClass, class CudaKernelClass>
void FCuda__transferInoutPassCallbackMpi(
......@@ -53,7 +53,7 @@ void FCuda__downardPassCallback(
FCudaParams<unsigned char*,9> subCellGroupsPtr, FCudaParams<std::size_t,9> subCellGroupsSize,
FCudaParams<unsigned char*,9> subCellGroupsDownPtr,
int nbSubCellGroups, int idxLevel, CudaKernelClass* kernel, cudaStream_t currentStream);
#ifdef ScalFMM_USE_MPI
#ifdef SCALFMM_USE_MPI
template <class SymboleCellClass, class PoleCellClass, class LocalCellClass,
class CellContainerClass, class ParticleContainerGroupClass, class ParticleGroupClass, class CudaKernelClass>
void FCuda__directInoutPassCallbackMpi(
......
......@@ -51,7 +51,7 @@ protected:
cl_kernel kernel_upwardPassPerform;
cl_command_queue queue_upwardPassPerform;