Commit fdce1c46 authored by Quentin Khan's avatar Quentin Khan
Browse files

PerfTests: add StarPU algorithm descriptor, disable Lagrange and Cheb kernels

The Lagrange and Chebyshev kernels are disabled until they are made
compatible with the StarPU algorithm.
parent 8a23d14c
......@@ -120,6 +120,7 @@ struct algo_descriptor {
*/
template<typename FReal>
struct kernel_descriptor<FReal, 0> {
enum : bool {disabled = true};
/// Kernel lookup name
constexpr static const char* name = "lagrange";
/// Interpolation order
......@@ -157,6 +158,7 @@ struct kernel_descriptor<FReal, 0> {
#include "Adaptive/new/FAdaptChebKernel.hpp"
template<typename FReal> struct kernel_descriptor<FReal, 1> {
enum : bool {disabled = true};
/// Kernel lookup name
constexpr static const char* name = "chebyshev";
/// Kernel interpolation order
......@@ -579,5 +581,28 @@ template<typename FReal> struct algo_descriptor<FReal, 6> {
#endif
// StarPU adaptive fmm algorithm
#include "Adaptive/new/FAdaptiveStarPU.hpp"
template<typename FReal> struct algo_descriptor<FReal, 7> {
constexpr static const char* name = "adaptive-starpu";
using tree_desc = adaptive_tree_descriptor<FReal>;
using loader_descriptor = default_loader_descriptor<FReal>;
template<typename kernel_factory>
struct algo_factory {
template<typename tree_t, typename kernel_t>
using algo_t = FAdaptiveStarPU<tree_t, kernel_t>;
template<typename tree_t, typename kernel_t>
std::unique_ptr<algo_t<tree_t, kernel_t> >
build(const FPerfTestParams&, tree_t& tree, kernel_t& kernel) {
return std::make_unique<algo_t<tree_t, kernel_t> >(tree, kernel);
}
};
};
#endif /* DESCRIPTORS_HPP */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment