Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:48:58

0001 #pragma once
0002 /**
0003 CU.h : UploadArray/DownloadArray/UploadVec/DownloadVec 
0004 ========================================================
0005 
0006 * used for CSGFoundry upload 
0007 
0008 ::
0009 
0010     epsilon:CSG blyth$ opticks-fl CU.h
0011     ./CSGOptiX/SBT.cc
0012     ./CSG/CMakeLists.txt
0013     ./CSG/CU.h
0014     ./CSG/tests/CSGPrimImpTest.cc
0015     ./CSG/tests/CUTest.cc
0016     ./CSG/CU.cc
0017     ./CSG/CSGFoundry.cc
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 };