testBlockedMpiInterpolation.cpp 2.43 KB
Newer Older
1 2 3 4 5 6 7
// ==== CMAKE =====
// @FUSE_BLAS
// ================
// Keep in private GIT
// @FUSE_MPI
// @FUSE_STARPU

8
// A supprimer ou merger Unif et Cheb
9 10
#include "Files/FBlockedMpiInterpolation.hpp"
#include "Utils/FGlobal.hpp"
11 12


13
#include "Kernels/P2P/FP2PParticleContainer.hpp"
14

15 16
#include "Kernels/Chebyshev/FChebSymKernel.hpp"
#include "Kernels/Chebyshev/FChebCell.hpp"
17 18
#include "Kernels/Interpolation/FInterpMatrixKernel.hpp"

19 20 21 22
#include "GroupTree/Core/FGroupSeqAlgorithm.hpp"
#include "GroupTree/Core/FGroupTaskAlgorithm.hpp"
#include "GroupTree/Core/FGroupTaskStarpuAlgorithm.hpp"
#include "GroupTree/Core/FP2PGroupParticleContainer.hpp"
23

24 25 26
#include "Components/FTestParticleContainer.hpp"
#include "Components/FTestCell.hpp"
#include "Components/FTestKernels.hpp"
27

28 29 30
#include "Core/FFmmAlgorithmThreadProc.hpp"
#include "Files/FMpiTreeBuilder.hpp"
#include "GroupTree/Core/FGroupTaskStarpuMpiAlgorithm.hpp"
31

32 33
#include "Files/FMpiFmaGenericLoader.hpp"
#include "Containers/FCoordinateComputer.hpp"
34

35
#include "GroupTree/StarPUUtils/FStarPUKernelCapacities.hpp"
36 37 38 39 40 41 42 43 44 45 46 47

#include <memory>


int main(int argc, char *argv[]){
    const FParameterNames LocalOptionBlocSize { {"-bs"}, "The size of the block of the blocked tree"};
    const FParameterNames LocalOptionNoValidate { {"-no-validation"}, "To avoid comparing with direct computation"};
    FHelpDescribeAndExit(argc, argv, "Test the blocked tree by counting the particles.",
                         FParameterDefinitions::OctreeHeight,FParameterDefinitions::InputFile,
                         FParameterDefinitions::NbParticles,
                         LocalOptionBlocSize,LocalOptionNoValidate);

48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
    // using FReal = double;
    // static const int ORDER = 6;
    // using GroupContainerClass = FP2PGroupParticleContainer<FReal>;
    // using MatrixKernelClass   =  FInterpMatrixKernelR<FReal>;
    // using GroupCellClass      = FChebCell<FReal, ORDER>;
    // using GroupCellUpClass    = typename GroupCellClass::multipole_t;
    // using GroupCellDownClass  = typename GroupCellClass::local_expansion_t;
    // using GroupCellSymbClass = FSymbolicData;
    // using kernelClass = FChebSymKernel<FReal,GroupCellClass,GroupContainerClass,MatrixKernelClass,ORDER>;

    // auto groupedTree = blockedMpiInterpolation::execute_algorithm<
    //   GroupCellClass,
    //   GroupCellUpClass,
    //   GroupCellDownClass,
    //   GroupCellSymbClass,
    //   kernelClass,
    //   MatrixKernelClass
    //   >(argc,argv);
66 67 68 69

    // Validation

}