#ifndef PASTIS_UTILS_HPP #define PASTIS_UTILS_HPP #include <Kokkos_Core.hpp> #include <PastisMacros.hpp> #include <functional> #include <string> template <typename FunctionType> PASTIS_FORCEINLINE void parallel_for(const size_t& size, const FunctionType& lambda, const std::string& label = "") { Kokkos::parallel_for(size, lambda, label); } template <typename ArrayType, typename ReturnType> PASTIS_FORCEINLINE void parallel_reduce(const size_t& size, const ArrayType& array, ReturnType& value, const std::string& label = "") { Kokkos::parallel_reduce(label, size, array, value); } std::string initialize(int& argc, char* argv[]); void finalize(); #endif // PASTIS_UTILS_HPP