ATLAS Offline Software
|
Classes | |
class | IKernelRunnerSvc |
Interface for executing AthCUDA::IKernelTask tasks. More... | |
class | IKernelTask |
Abstract interface for setting up / running a CUDA task. More... | |
class | Info |
Class providing information about the CUDA devices at runtime. More... | |
class | IStreamPoolSvc |
Interface for a CUDA stream pool service. More... | |
class | KernelRunnerSvc |
Service used for executing AthCUDA::IKernelTask tasks. More... | |
class | KernelRunnerSvcImpl |
CUDA implementation of AthCUDA::KernelRunnerSvc . More... | |
class | KernelRunnerSvcImplCallback |
Class used for calling AthCUDA::KernelRunnerSvc::setTaskFinished . More... | |
class | KernelStatus |
Helper object used for synchronising GPU kernel tasks. More... | |
class | StreamHolder |
Helper class for handling CUDA streams. More... | |
class | StreamPoolSvc |
Service managing a fixed number of CUDA streams for an application. More... | |
class | StreamPoolSvcImpl |
CUDA implementation of AthCUDA::StreamPoolSvc . More... | |
Functions | |
std::ostream & | operator<< (std::ostream &out, const AthCUDA::Info &info) |
Print operator for AthCUDA::Info . More... | |
tbb::task_arena & | taskArena () |
Function returning the TBB task arena that should be used for CUDA calls. More... | |
std::ostream& AthCUDA::operator<< | ( | std::ostream & | out, |
const AthCUDA::Info & | info | ||
) |
Print operator for AthCUDA::Info
.
tbb::task_arena & AthCUDA::taskArena | ( | ) |
Function returning the TBB task arena that should be used for CUDA calls.
Since many (most?) CUDA calls use global locks, in order to avoid waiting times in the threads, one needs to schedule all CUDA operations using this single task arena, which takes care of executing all operations one by one. Using the TBB threads allocated for the rest of the job.
tbb::task_arena
object to use for CUDA calls. Definition at line 12 of file TaskArena.cxx.