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
32#include "GPUCommonHelpers.h"
33
34using namespace o2::gpu;
35
36#include <cstring>
37#include <unistd.h>
38#include <typeinfo>
39#include <cstdlib>
40
41namespace o2::gpu
42{
43
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
56
58};
59} // namespace o2::gpu
60
61#endif // GPURECONSTRUCTIONOMETALINCLUDESHOST_H
GLuint id
Definition glcorearb.h:650
std::array< id< MTLCommandQueue >, constants::GPU_MAX_STREAMS > commandQueues
std::array< id< MTLCommandBuffer >, constants::GPU_MAX_STREAMS > commandBuffers
std::vector< id< MTLComputePipelineState > > pipelines