ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::HIPMagFieldProviderTool Class Reference

Tool providing HIP-based traccc magnetic field algorithm. More...

#include <HIPMagFieldProviderTool.h>

Inheritance diagram for ActsTrk::HIPMagFieldProviderTool:
Collaboration diagram for ActsTrk::HIPMagFieldProviderTool:

Public Member Functions

virtual StatusCode initialize () override
 Function initializing the algorithm.
virtual traccc::magnetic_field getDeviceMagneticField (traccc::magnetic_field const &host_bfield) const override
 Function constructing the traccc device hip magnetic field.

Private Attributes

traccc::hip::magnetic_field_storage m_storage {traccc::hip::magnetic_field_storage::global_memory}
Gaudi::Property< std::string > m_magFieldStorage

Detailed Description

Tool providing HIP-based traccc magnetic field algorithm.

This tool constructs the traccc device magnetic field algorithm, configured to run on with HIP backend.

@copy of original CUDA version

Definition at line 27 of file HIPMagFieldProviderTool.h.

Member Function Documentation

◆ getDeviceMagneticField()

traccc::magnetic_field ActsTrk::HIPMagFieldProviderTool::getDeviceMagneticField ( traccc::magnetic_field const & host_bfield) const
overridevirtual

Function constructing the traccc device hip magnetic field.

Returns
hip magnetic field

Definition at line 28 of file HIPMagFieldProviderTool.cxx.

30{
31 return traccc::hip::make_magnetic_field(host_bfield, m_storage);
32}
traccc::hip::magnetic_field_storage m_storage

◆ initialize()

StatusCode ActsTrk::HIPMagFieldProviderTool::initialize ( )
overridevirtual

Function initializing the algorithm.

Definition at line 10 of file HIPMagFieldProviderTool.cxx.

11{
12 ATH_MSG_DEBUG("Initializing HIPMagFieldProviderTool.");
13
14 if (m_magFieldStorage.value() == "global_memory") {
15 m_storage = traccc::hip::magnetic_field_storage::global_memory;
16 //} else if (m_magFieldStorage.value() == "texture_memory") { //texture memory not supported in HIP
17 // m_storage = traccc::hip::magnetic_field_storage::texture_memory;
18 } else {
19 ATH_MSG_FATAL("Unknown MagFieldStorage value.");
20 return StatusCode::FAILURE;
21 }
22
23 return StatusCode::SUCCESS;
24}
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_FATAL(x,...)
Gaudi::Property< std::string > m_magFieldStorage

Member Data Documentation

◆ m_magFieldStorage

Gaudi::Property<std::string> ActsTrk::HIPMagFieldProviderTool::m_magFieldStorage
private
Initial value:
{
this, "MagFieldStorage", "global_memory",
"Storage method for the HIP device magnetic field; global or texture memory"}

Definition at line 41 of file HIPMagFieldProviderTool.h.

41 {
42 this, "MagFieldStorage", "global_memory",
43 "Storage method for the HIP device magnetic field; global or texture memory"};

◆ m_storage

traccc::hip::magnetic_field_storage ActsTrk::HIPMagFieldProviderTool::m_storage {traccc::hip::magnetic_field_storage::global_memory}
private

Definition at line 40 of file HIPMagFieldProviderTool.h.

40{traccc::hip::magnetic_field_storage::global_memory};

The documentation for this class was generated from the following files: