File indexing completed on 2026-04-09 07:48:58
0001 #pragma once
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifdef WITH_SLOG
0022 #include "plog/Severity.h"
0023 #endif
0024
0025 struct dim3 ;
0026 #include <vector>
0027 #include "CSG_API_EXPORT.hh"
0028
0029 struct CSG_API CU
0030 {
0031 #ifdef WITH_SLOG
0032 static const plog::Severity LEVEL ;
0033 #endif
0034
0035 template <typename T>
0036 static T* AllocArray(unsigned num_items ) ;
0037
0038 template <typename T>
0039 static T* UploadArray(const T* array, unsigned num_items ) ;
0040
0041 template <typename T>
0042 static T* DownloadArray(const T* array, unsigned num_items ) ;
0043
0044
0045 template <typename T>
0046 static T* UploadVec(const std::vector<T>& vec);
0047
0048 template <typename T>
0049 static void DownloadVec(std::vector<T>& vec, const T* d_array, unsigned num_items);
0050
0051 static void ConfigureLaunch1D( dim3& numBlocks, dim3& threadsPerBlock, unsigned num, unsigned threads_per_block );
0052
0053 };