Project
Loading...
Searching...
No Matches
DeviceSpec.h
Go to the documentation of this file.
1// Copyright 2019-2020 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#ifndef O2_FRAMEWORK_DEVICESPEC_H_
12#define O2_FRAMEWORK_DEVICESPEC_H_
13
14#include "CallbacksPolicy.h"
32
33#include <vector>
34#include <string>
35#include <map>
36#include <utility>
37
38namespace o2::framework
39{
40
48struct DeviceSpec {
50 std::string name = "unknown";
52 std::string id = "unknown";
53 std::string channelPrefix = "";
54 std::vector<InputChannelSpec> inputChannels;
55 std::vector<OutputChannelSpec> outputChannels;
56 std::vector<std::string> arguments;
57 std::vector<ConfigParamSpec> options;
58 std::vector<ServiceSpec> services;
59
61
62 std::vector<InputRoute> inputs;
63 std::vector<OutputRoute> outputs;
64 std::vector<ForwardRoute> forwards;
65 size_t rank; // Id of a parallel processing I am part of
66 size_t nSlots; // Total number of parallel units I am part of
81 std::vector<DataProcessorLabel> labels;
82 std::vector<DataProcessorMetadata> metadata;
83};
84
85} // namespace o2::framework
86#endif // O2_FRAMEWORK_DEVICESPEC_H_
GLuint const GLchar * name
Definition glcorearb.h:781
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
A computing resource which can be offered to run a device.
std::vector< std::string > arguments
Definition DeviceSpec.h:56
std::vector< DataProcessorLabel > labels
Definition DeviceSpec.h:81
std::vector< InputRoute > inputs
Definition DeviceSpec.h:62
size_t maxInputTimeslices
The maximum number of time pipelining for this device.
Definition DeviceSpec.h:70
std::vector< DataProcessorMetadata > metadata
Definition DeviceSpec.h:82
std::vector< ConfigParamSpec > options
Definition DeviceSpec.h:57
CompletionPolicy completionPolicy
The completion policy to use for this device.
Definition DeviceSpec.h:72
std::vector< OutputChannelSpec > outputChannels
Definition DeviceSpec.h:55
std::vector< ForwardRoute > forwards
Definition DeviceSpec.h:64
size_t inputTimesliceId
The time pipelining id of this particular device.
Definition DeviceSpec.h:68
std::vector< OutputRoute > outputs
Definition DeviceSpec.h:63
CallbacksPolicy callbacksPolicy
Definition DeviceSpec.h:74
ResourcePolicy resourcePolicy
Definition DeviceSpec.h:78
unsigned short resourceMonitoringInterval
Definition DeviceSpec.h:80
DispatchPolicy dispatchPolicy
Definition DeviceSpec.h:73
SendingPolicy sendingPolicy
Definition DeviceSpec.h:75
AlgorithmSpec algorithm
Definition DeviceSpec.h:60
std::vector< InputChannelSpec > inputChannels
Definition DeviceSpec.h:54
ComputingResource resource
Definition DeviceSpec.h:79
std::vector< ServiceSpec > services
Definition DeviceSpec.h:58