Project
Loading...
Searching...
No Matches
o2::gpu::GPUReconstructionMetalInternals Struct Reference

#include <GPUReconstructionMetalIncludesHost.h>

Public Attributes

id< MTLDevice > device
 
std::array< id< MTLCommandQueue >, constants::GPU_MAX_STREAMS > commandQueues
 
std::array< id< MTLCommandBuffer >, constants::GPU_MAX_STREAMS > commandBuffers
 
std::array< std::vector< id< MTLCommandBuffer > >, constants::GPU_MAX_STREAMS > submittedBuffers
 
std::array< id< MTLSharedEvent >, constants::GPU_MAX_STREAMS > streamOrder
 
std::array< uint64_t, constants::GPU_MAX_STREAMS > streamOrderValue
 
std::array< id< MTLFence >, constants::GPU_MAX_STREAMS > streamFence
 
std::array< bool, constants::GPU_MAX_STREAMS > streamHasWork
 
bool exiting = false
 
FILE * timeline = nullptr
 
std::array< std::string, constants::GPU_MAX_STREAMS > timelineOps
 
std::array< uint32_t, constants::GPU_MAX_STREAMS > timelineKernels
 
uint64_t timelineBuffers = 0
 
uint32_t maxKernelsPerBuffer = 0
 
uint32_t maxStreamsInFlight = 0
 
std::array< uint32_t, constants::GPU_MAX_STREAMS > streamKernels {}
 
std::array< uint32_t, constants::GPU_MAX_STREAMS > streamBuffersInFlight {}
 
uint32_t streamsInFlight = 0
 
std::mutex inFlightMutex
 
std::condition_variable inFlightDone
 
std::vector< id< MTLFunction > > functions
 
std::vector< id< MTLComputePipelineState > > pipelines
 
std::vector< uint32_t > maxThreadsPerGroup
 
id< MTLBuffer > mem_gpu
 
id< MTLBuffer > mem_constant
 
id< MTLBuffer > mem_host
 
id< MTLComputePipelineState > canaryPipeline
 
id< MTLBuffer > canaryBad = nil
 
id< MTLLibrary > library
 
std::unordered_map< void *, uint64_t > eventValues
 
std::mutex eventMutex
 

Static Public Attributes

static constexpr uint32_t canaryMagic = 0xA11CE0A5
 

Detailed Description

Definition at line 56 of file GPUReconstructionMetalIncludesHost.h.

Member Data Documentation

◆ canaryBad

id<MTLBuffer> o2::gpu::GPUReconstructionMetalInternals::canaryBad = nil

Definition at line 104 of file GPUReconstructionMetalIncludesHost.h.

◆ canaryMagic

constexpr uint32_t o2::gpu::GPUReconstructionMetalInternals::canaryMagic = 0xA11CE0A5
staticconstexpr

Definition at line 102 of file GPUReconstructionMetalIncludesHost.h.

◆ canaryPipeline

id<MTLComputePipelineState> o2::gpu::GPUReconstructionMetalInternals::canaryPipeline

Definition at line 103 of file GPUReconstructionMetalIncludesHost.h.

◆ commandBuffers

std::array<id<MTLCommandBuffer>, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::commandBuffers

Definition at line 63 of file GPUReconstructionMetalIncludesHost.h.

◆ commandQueues

std::array<id<MTLCommandQueue>, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::commandQueues

Definition at line 59 of file GPUReconstructionMetalIncludesHost.h.

◆ device

id<MTLDevice> o2::gpu::GPUReconstructionMetalInternals::device

Definition at line 57 of file GPUReconstructionMetalIncludesHost.h.

◆ eventMutex

std::mutex o2::gpu::GPUReconstructionMetalInternals::eventMutex

Definition at line 112 of file GPUReconstructionMetalIncludesHost.h.

◆ eventValues

std::unordered_map<void*, uint64_t> o2::gpu::GPUReconstructionMetalInternals::eventValues

Definition at line 111 of file GPUReconstructionMetalIncludesHost.h.

◆ exiting

bool o2::gpu::GPUReconstructionMetalInternals::exiting = false

Definition at line 73 of file GPUReconstructionMetalIncludesHost.h.

◆ functions

std::vector<id<MTLFunction> > o2::gpu::GPUReconstructionMetalInternals::functions

Definition at line 92 of file GPUReconstructionMetalIncludesHost.h.

◆ inFlightDone

std::condition_variable o2::gpu::GPUReconstructionMetalInternals::inFlightDone

Definition at line 90 of file GPUReconstructionMetalIncludesHost.h.

◆ inFlightMutex

std::mutex o2::gpu::GPUReconstructionMetalInternals::inFlightMutex

Definition at line 89 of file GPUReconstructionMetalIncludesHost.h.

◆ library

id<MTLLibrary> o2::gpu::GPUReconstructionMetalInternals::library

Definition at line 106 of file GPUReconstructionMetalIncludesHost.h.

◆ maxKernelsPerBuffer

uint32_t o2::gpu::GPUReconstructionMetalInternals::maxKernelsPerBuffer = 0

Definition at line 84 of file GPUReconstructionMetalIncludesHost.h.

◆ maxStreamsInFlight

uint32_t o2::gpu::GPUReconstructionMetalInternals::maxStreamsInFlight = 0

Definition at line 85 of file GPUReconstructionMetalIncludesHost.h.

◆ maxThreadsPerGroup

std::vector<uint32_t> o2::gpu::GPUReconstructionMetalInternals::maxThreadsPerGroup

Definition at line 94 of file GPUReconstructionMetalIncludesHost.h.

◆ mem_constant

id<MTLBuffer> o2::gpu::GPUReconstructionMetalInternals::mem_constant

Definition at line 97 of file GPUReconstructionMetalIncludesHost.h.

◆ mem_gpu

id<MTLBuffer> o2::gpu::GPUReconstructionMetalInternals::mem_gpu

Definition at line 96 of file GPUReconstructionMetalIncludesHost.h.

◆ mem_host

id<MTLBuffer> o2::gpu::GPUReconstructionMetalInternals::mem_host

Definition at line 98 of file GPUReconstructionMetalIncludesHost.h.

◆ pipelines

std::vector<id<MTLComputePipelineState> > o2::gpu::GPUReconstructionMetalInternals::pipelines

Definition at line 93 of file GPUReconstructionMetalIncludesHost.h.

◆ streamBuffersInFlight

std::array<uint32_t, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::streamBuffersInFlight {}

Definition at line 87 of file GPUReconstructionMetalIncludesHost.h.

◆ streamFence

std::array<id<MTLFence>, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::streamFence

Definition at line 70 of file GPUReconstructionMetalIncludesHost.h.

◆ streamHasWork

std::array<bool, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::streamHasWork

Definition at line 71 of file GPUReconstructionMetalIncludesHost.h.

◆ streamKernels

std::array<uint32_t, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::streamKernels {}

Definition at line 86 of file GPUReconstructionMetalIncludesHost.h.

◆ streamOrder

std::array<id<MTLSharedEvent>, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::streamOrder

Definition at line 66 of file GPUReconstructionMetalIncludesHost.h.

◆ streamOrderValue

std::array<uint64_t, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::streamOrderValue

Definition at line 67 of file GPUReconstructionMetalIncludesHost.h.

◆ streamsInFlight

uint32_t o2::gpu::GPUReconstructionMetalInternals::streamsInFlight = 0

Definition at line 88 of file GPUReconstructionMetalIncludesHost.h.

◆ submittedBuffers

std::array<std::vector<id<MTLCommandBuffer> >, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::submittedBuffers

Definition at line 64 of file GPUReconstructionMetalIncludesHost.h.

◆ timeline

FILE* o2::gpu::GPUReconstructionMetalInternals::timeline = nullptr

Definition at line 76 of file GPUReconstructionMetalIncludesHost.h.

◆ timelineBuffers

uint64_t o2::gpu::GPUReconstructionMetalInternals::timelineBuffers = 0

Definition at line 79 of file GPUReconstructionMetalIncludesHost.h.

◆ timelineKernels

std::array<uint32_t, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::timelineKernels

Definition at line 78 of file GPUReconstructionMetalIncludesHost.h.

◆ timelineOps

std::array<std::string, constants::GPU_MAX_STREAMS> o2::gpu::GPUReconstructionMetalInternals::timelineOps

Definition at line 77 of file GPUReconstructionMetalIncludesHost.h.


The documentation for this struct was generated from the following file: