diff --git a/opm/simulators/linalg/gpuistl/GpuBuffer.hpp b/opm/simulators/linalg/gpuistl/GpuBuffer.hpp index 710f002ff4..7ac9e89ba0 100644 --- a/opm/simulators/linalg/gpuistl/GpuBuffer.hpp +++ b/opm/simulators/linalg/gpuistl/GpuBuffer.hpp @@ -99,18 +99,7 @@ public: explicit GpuBuffer(const std::vector& data) : GpuBuffer(data.size()) { - if constexpr (std::is_same_v) { - // Special handling for std::vector - assert(data.size() > 0); - auto tmp = std::make_unique(m_numberOfElements); - for (size_t i = 0; i < m_numberOfElements; ++i) { - tmp[i] = static_cast(data[i]); - } - OPM_GPU_SAFE_CALL(cudaMemcpy(m_dataOnDevice, tmp.get(), m_numberOfElements * sizeof(bool), cudaMemcpyHostToDevice)); - } else { - // Regular types can use data.data() - OPM_GPU_SAFE_CALL(cudaMemcpy(m_dataOnDevice, data.data(), m_numberOfElements * sizeof(T), cudaMemcpyHostToDevice)); - } + copyFromHost(data); } /**