diff --git a/include/llama/mapping/One.hpp b/include/llama/mapping/One.hpp index a4f8e91b96..eefa946f30 100644 --- a/include/llama/mapping/One.hpp +++ b/include/llama/mapping/One.hpp @@ -31,7 +31,15 @@ namespace llama::mapping using Flattener = FlattenRecordDim; static constexpr std::size_t blobCount = 1; +#ifndef __NVCC__ using Base::Base; +#else + constexpr One() = default; + + LLAMA_FN_HOST_ACC_INLINE constexpr explicit One(TArrayExtents extents, TRecordDim = {}) : Base(extents) + { + } +#endif LLAMA_FN_HOST_ACC_INLINE constexpr auto blobSize(size_type) const -> size_type { diff --git a/include/llama/mapping/SoA.hpp b/include/llama/mapping/SoA.hpp index 0626fd675e..28cfc6247b 100644 --- a/include/llama/mapping/SoA.hpp +++ b/include/llama/mapping/SoA.hpp @@ -39,7 +39,15 @@ namespace llama::mapping inline static constexpr std::size_t blobCount = SeparateBuffers ? boost::mp11::mp_size>::value : 1; +#ifndef __NVCC__ using Base::Base; +#else + constexpr SoA() = default; + + LLAMA_FN_HOST_ACC_INLINE constexpr explicit SoA(TArrayExtents extents, TRecordDim = {}) : Base(extents) + { + } +#endif LLAMA_FN_HOST_ACC_INLINE constexpr auto blobSize([[maybe_unused]] size_type blobIndex) const -> size_type