![]() |
|
|||
File indexing completed on 2025-09-15 08:59:51
0001 //---------------------------------*-CUDA-*----------------------------------// 0002 // Copyright 2024 UT-Battelle, LLC, and other Celeritas developers. 0003 // See the top-level COPYRIGHT file for details. 0004 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0005 //---------------------------------------------------------------------------// 0006 /*! 0007 * \file geocel/rasterize/RaytraceImager.device.t.hh 0008 * \brief Template definition file for \c RaytraceImager . 0009 * 0010 * Include this file in a .cu file and instantiate it explicitly. When 0011 * instantiating, you must provide access to the GeoTraits specialization as 0012 * well as the data classes and track view. 0013 */ 0014 //---------------------------------------------------------------------------// 0015 #pragma once 0016 0017 #include "RaytraceImager.hh" 0018 0019 #include "corecel/sys/KernelLauncher.device.hh" 0020 #include "corecel/sys/ThreadId.hh" 0021 0022 #include "detail/RaytraceExecutor.hh" 0023 0024 namespace celeritas 0025 { 0026 //---------------------------------------------------------------------------// 0027 /*! 0028 * Launch the raytrace kernel on device. 0029 */ 0030 template<class G> 0031 void RaytraceImager<G>::launch_raytrace_kernel( 0032 GeoParamsCRef<MemSpace::device> const& geo_params, 0033 GeoStateRef<MemSpace::device> const& geo_states, 0034 ImageParamsCRef<MemSpace::device> const& img_params, 0035 ImageStateRef<MemSpace::device> const& img_states) const 0036 { 0037 using CalcId = detail::VolumeIdCalculator; 0038 0039 detail::RaytraceExecutor<GeoTrackView, CalcId> execute_thread{ 0040 geo_params, geo_states, img_params, img_states, CalcId{}}; 0041 0042 static KernelLauncher<decltype(execute_thread)> const launch_kernel{ 0043 std::string{"raytrace-"} + GeoTraits<G>::name}; 0044 launch_kernel(geo_states.size(), StreamId{}, execute_thread); 0045 } 0046 0047 //---------------------------------------------------------------------------// 0048 } // namespace celeritas
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |