Project
Loading...
Searching...
No Matches
GPUReconstructionMetalIncludesHost.h
Go to the documentation of this file.
1
// Copyright 2019-2025 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
11
12
#ifndef GPURECONSTRUCTIONOMETALINCLUDESHOST_H
13
#define GPURECONSTRUCTIONOMETALINCLUDESHOST_H
14
15
#define GPUCA_GPUTYPE_METAL
16
17
#import <Metal/Metal.h>
18
#ifndef __METAL_VERSION__
19
// __METAL_VERSION__ is only defined in device code.
20
#define __METAL_HOST__
21
#endif
22
23
#import <Foundation/Foundation.h>
24
25
#include <vector>
26
#include <string>
27
#include <memory>
28
#include "
GPULogging.h
"
29
30
#include "
GPUReconstructionMetal.h
"
31
#include "
GPUReconstructionIncludes.h
"
32
#include "
GPUCommonHelpers.h
"
33
34
using namespace
o2::gpu
;
35
36
#include <cstring>
37
#include <unistd.h>
38
#include <typeinfo>
39
#include <cstdlib>
40
41
namespace
o2::gpu
42
{
43
44
struct
GPUReconstructionMetalInternals
{
45
id<MTLDevice>
device
;
46
47
std::array<id<MTLCommandQueue>, constants::GPU_MAX_STREAMS>
commandQueues
;
48
std::array<id<MTLCommandBuffer>, constants::GPU_MAX_STREAMS>
commandBuffers
;
49
50
std::vector<id<MTLFunction>>
functions
;
51
std::vector<id<MTLComputePipelineState>>
pipelines
;
52
53
id<MTLBuffer>
mem_gpu
;
54
id<MTLBuffer>
mem_constant
;
55
id<MTLBuffer>
mem_host
;
56
57
id<MTLLibrary>
library
;
58
};
59
}
// namespace o2::gpu
60
61
#endif
// GPURECONSTRUCTIONOMETALINCLUDESHOST_H
GPUCommonHelpers.h
GPULogging.h
GPUReconstructionIncludes.h
GPUReconstructionMetal.h
id
GLuint id
Definition
glcorearb.h:650
o2::gpu
Definition
TrackTRD.h:36
o2::gpu::GPUReconstructionMetalInternals
Definition
GPUReconstructionMetalIncludesHost.h:44
o2::gpu::GPUReconstructionMetalInternals::commandQueues
std::array< id< MTLCommandQueue >, constants::GPU_MAX_STREAMS > commandQueues
Definition
GPUReconstructionMetalIncludesHost.h:47
o2::gpu::GPUReconstructionMetalInternals::mem_constant
id< MTLBuffer > mem_constant
Definition
GPUReconstructionMetalIncludesHost.h:54
o2::gpu::GPUReconstructionMetalInternals::commandBuffers
std::array< id< MTLCommandBuffer >, constants::GPU_MAX_STREAMS > commandBuffers
Definition
GPUReconstructionMetalIncludesHost.h:48
o2::gpu::GPUReconstructionMetalInternals::mem_gpu
id< MTLBuffer > mem_gpu
Definition
GPUReconstructionMetalIncludesHost.h:53
o2::gpu::GPUReconstructionMetalInternals::pipelines
std::vector< id< MTLComputePipelineState > > pipelines
Definition
GPUReconstructionMetalIncludesHost.h:51
o2::gpu::GPUReconstructionMetalInternals::library
id< MTLLibrary > library
Definition
GPUReconstructionMetalIncludesHost.h:57
o2::gpu::GPUReconstructionMetalInternals::device
id< MTLDevice > device
Definition
GPUReconstructionMetalIncludesHost.h:45
o2::gpu::GPUReconstructionMetalInternals::functions
std::vector< id< MTLFunction > > functions
Definition
GPUReconstructionMetalIncludesHost.h:50
o2::gpu::GPUReconstructionMetalInternals::mem_host
id< MTLBuffer > mem_host
Definition
GPUReconstructionMetalIncludesHost.h:55
GPU
GPUTracking
Base
metal
GPUReconstructionMetalIncludesHost.h
Generated on Sat Oct 3 2026 10:55:14 for Project by
1.9.8