Skip to content

Commit 32cab70

Browse files
committed
Please consider the following formatting changes
1 parent b1c88f0 commit 32cab70

File tree

13 files changed

+156
-141
lines changed

13 files changed

+156
-141
lines changed

Common/ML/include/ML/OrtInterface.h

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@
2626
// O2 includes
2727
#include "Framework/Logger.h"
2828

29-
namespace Ort {
30-
struct SessionOptions;
31-
struct MemoryInfo;
32-
}
29+
namespace Ort
30+
{
31+
struct SessionOptions;
32+
struct MemoryInfo;
33+
} // namespace Ort
3334

3435
namespace o2
3536
{
@@ -44,7 +45,8 @@ class OrtModel
4445
// Constructors & destructors
4546
OrtModel() = default;
4647
OrtModel(std::unordered_map<std::string, std::string> optionsMap) { init(optionsMap); }
47-
void init(std::unordered_map<std::string, std::string> optionsMap) {
48+
void init(std::unordered_map<std::string, std::string> optionsMap)
49+
{
4850
initOptions(optionsMap);
4951
initEnvironment();
5052
}
@@ -71,8 +73,18 @@ class OrtModel
7173
void setDeviceId(int32_t id) { deviceId = id; }
7274
void setIO();
7375
void setActiveThreads(int threads) { intraOpNumThreads = threads; }
74-
void setIntraOpNumThreads(int threads) { if(deviceType == "CPU") { intraOpNumThreads = threads; } }
75-
void setInterOpNumThreads(int threads) { if(deviceType == "CPU") { interOpNumThreads = threads; } }
76+
void setIntraOpNumThreads(int threads)
77+
{
78+
if (deviceType == "CPU") {
79+
intraOpNumThreads = threads;
80+
}
81+
}
82+
void setInterOpNumThreads(int threads)
83+
{
84+
if (deviceType == "CPU") {
85+
interOpNumThreads = threads;
86+
}
87+
}
7688

7789
// Conversion
7890
template <class I, class O>
@@ -102,8 +114,8 @@ class OrtModel
102114
std::vector<const char*> inputNamesChar, outputNamesChar;
103115
std::vector<std::string> mInputNames, mOutputNames;
104116
std::vector<std::vector<int64_t>> mInputShapes, mOutputShapes, inputShapesCopy, outputShapesCopy; // Input shapes
105-
std::vector<int64_t> inputSizePerNode, outputSizePerNode; // Output shapes
106-
int32_t mInputsTotal = 0, mOutputsTotal = 0; // Total number of inputs and outputs
117+
std::vector<int64_t> inputSizePerNode, outputSizePerNode; // Output shapes
118+
int32_t mInputsTotal = 0, mOutputsTotal = 0; // Total number of inputs and outputs
107119

108120
// Environment settings
109121
bool mInitialized = false;

Common/ML/src/OrtInterface.cxx

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ void OrtModel::initOptions(std::unordered_map<std::string, std::string> optionsM
9999

100100
void OrtModel::initEnvironment()
101101
{
102-
if(allocateDeviceMemory) {
102+
if (allocateDeviceMemory) {
103103
memoryOnDevice(deviceId);
104104
}
105105
pImplOrt->env = std::make_shared<Ort::Env>(
@@ -184,7 +184,8 @@ std::vector<O> OrtModel::v2v(std::vector<I>& input, bool clearInput)
184184
}
185185
}
186186

187-
void OrtModel::setIO() {
187+
void OrtModel::setIO()
188+
{
188189
for (size_t i = 0; i < (pImplOrt->session)->GetInputCount(); ++i) {
189190
mInputNames.push_back((pImplOrt->session)->GetInputNameAllocated(i, pImplOrt->allocator).get());
190191
}
@@ -211,7 +212,7 @@ void OrtModel::setIO() {
211212
outputSizePerNode.resize(mOutputShapes.size(), 1);
212213
mInputsTotal = 1;
213214
for (size_t i = 0; i < mInputShapes.size(); ++i) {
214-
if(mInputShapes[i].size() > 0) {
215+
if (mInputShapes[i].size() > 0) {
215216
for (size_t j = 1; j < mInputShapes[i].size(); ++j) {
216217
if (mInputShapes[i][j] > 0) {
217218
mInputsTotal *= mInputShapes[i][j];
@@ -222,7 +223,7 @@ void OrtModel::setIO() {
222223
}
223224
mOutputsTotal = 1;
224225
for (size_t i = 0; i < mOutputShapes.size(); ++i) {
225-
if(mOutputShapes[i].size() > 0) {
226+
if (mOutputShapes[i].size() > 0) {
226227
for (size_t j = 1; j < mOutputShapes[i].size(); ++j) {
227228
if (mOutputShapes[i][j] > 0) {
228229
mOutputsTotal *= mOutputShapes[i][j];
@@ -239,8 +240,7 @@ std::vector<O> OrtModel::inference(std::vector<I>& input)
239240
{
240241
std::vector<int64_t> inputShape = mInputShapes[0];
241242
inputShape[0] = input.size();
242-
for (size_t i = 1; i < mInputShapes[0].size(); ++i)
243-
{
243+
for (size_t i = 1; i < mInputShapes[0].size(); ++i) {
244244
inputShape[0] /= mInputShapes[0][i];
245245
}
246246
std::vector<Ort::Value> inputTensor;
@@ -295,28 +295,29 @@ template void OrtModel::inference<float, OrtDataType::Float16_t>(float*, size_t,
295295
template void OrtModel::inference<float, float>(float*, size_t, float*);
296296

297297
template <class I, class O>
298-
void OrtModel::inference(I** input, size_t input_size, O* output) {
298+
void OrtModel::inference(I** input, size_t input_size, O* output)
299+
{
299300
std::vector<Ort::Value> inputTensors(inputShapesCopy.size());
300301

301302
for (size_t i = 0; i < inputShapesCopy.size(); ++i) {
302303

303-
inputShapesCopy[i][0] = input_size; // batch-size
304+
inputShapesCopy[i][0] = input_size; // batch-size
304305
outputShapesCopy[i][0] = input_size; // batch-size
305306

306307
if constexpr (std::is_same_v<I, OrtDataType::Float16_t>) {
307308
inputTensors[i] = Ort::Value::CreateTensor<Ort::Float16_t>(
308-
pImplOrt->memoryInfo,
309-
reinterpret_cast<Ort::Float16_t*>(input[i]),
310-
inputSizePerNode[i]*input_size,
311-
inputShapesCopy[i].data(),
312-
inputShapesCopy[i].size());
309+
pImplOrt->memoryInfo,
310+
reinterpret_cast<Ort::Float16_t*>(input[i]),
311+
inputSizePerNode[i] * input_size,
312+
inputShapesCopy[i].data(),
313+
inputShapesCopy[i].size());
313314
} else {
314315
inputTensors[i] = Ort::Value::CreateTensor<I>(
315-
pImplOrt->memoryInfo,
316-
input[i],
317-
inputSizePerNode[i]*input_size,
318-
inputShapesCopy[i].data(),
319-
inputShapesCopy[i].size());
316+
pImplOrt->memoryInfo,
317+
input[i],
318+
inputSizePerNode[i] * input_size,
319+
inputShapesCopy[i].data(),
320+
inputShapesCopy[i].size());
320321
}
321322
}
322323

@@ -325,14 +326,14 @@ void OrtModel::inference(I** input, size_t input_size, O* output) {
325326
outputTensor = Ort::Value::CreateTensor<Ort::Float16_t>(
326327
pImplOrt->memoryInfo,
327328
reinterpret_cast<Ort::Float16_t*>(output),
328-
outputSizePerNode[0]*input_size, // assumes that there is only one output node
329+
outputSizePerNode[0] * input_size, // assumes that there is only one output node
329330
outputShapesCopy[0].data(),
330331
outputShapesCopy[0].size());
331332
} else {
332333
outputTensor = Ort::Value::CreateTensor<O>(
333334
pImplOrt->memoryInfo,
334335
output,
335-
outputSizePerNode[0]*input_size, // assumes that there is only one output node
336+
outputSizePerNode[0] * input_size, // assumes that there is only one output node
336337
outputShapesCopy[0].data(),
337338
outputShapesCopy[0].size());
338339
}
@@ -345,8 +346,7 @@ void OrtModel::inference(I** input, size_t input_size, O* output) {
345346
inputNamesChar.size(),
346347
outputNamesChar.data(),
347348
&outputTensor,
348-
outputNamesChar.size()
349-
);
349+
outputNamesChar.size());
350350
}
351351

352352
template void OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(OrtDataType::Float16_t**, size_t, OrtDataType::Float16_t*);
@@ -357,47 +357,47 @@ template void OrtModel::inference<float, float>(float**, size_t, float*);
357357
template <class I, class O>
358358
std::vector<O> OrtModel::inference(std::vector<std::vector<I>>& inputs)
359359
{
360-
std::vector<Ort::Value> input_tensors;
360+
std::vector<Ort::Value> input_tensors;
361361

362-
for (size_t i = 0; i < inputs.size(); ++i) {
362+
for (size_t i = 0; i < inputs.size(); ++i) {
363363

364-
inputShapesCopy[i][0] = inputs[i].size() / inputSizePerNode[i]; // batch-size
364+
inputShapesCopy[i][0] = inputs[i].size() / inputSizePerNode[i]; // batch-size
365365

366-
if constexpr (std::is_same_v<I, OrtDataType::Float16_t>) {
367-
input_tensors.emplace_back(
368-
Ort::Value::CreateTensor<Ort::Float16_t>(
369-
pImplOrt->memoryInfo,
370-
reinterpret_cast<Ort::Float16_t*>(inputs[i].data()),
371-
inputSizePerNode[i]*inputShapesCopy[i][0],
372-
inputShapesCopy[i].data(),
373-
inputShapesCopy[i].size()));
374-
} else {
375-
input_tensors.emplace_back(
376-
Ort::Value::CreateTensor<I>(
377-
pImplOrt->memoryInfo,
378-
inputs[i].data(),
379-
inputSizePerNode[i]*inputShapesCopy[i][0],
380-
inputShapesCopy[i].data(),
381-
inputShapesCopy[i].size()));
382-
}
366+
if constexpr (std::is_same_v<I, OrtDataType::Float16_t>) {
367+
input_tensors.emplace_back(
368+
Ort::Value::CreateTensor<Ort::Float16_t>(
369+
pImplOrt->memoryInfo,
370+
reinterpret_cast<Ort::Float16_t*>(inputs[i].data()),
371+
inputSizePerNode[i] * inputShapesCopy[i][0],
372+
inputShapesCopy[i].data(),
373+
inputShapesCopy[i].size()));
374+
} else {
375+
input_tensors.emplace_back(
376+
Ort::Value::CreateTensor<I>(
377+
pImplOrt->memoryInfo,
378+
inputs[i].data(),
379+
inputSizePerNode[i] * inputShapesCopy[i][0],
380+
inputShapesCopy[i].data(),
381+
inputShapesCopy[i].size()));
383382
}
383+
}
384+
385+
int32_t totalOutputSize = mOutputsTotal * inputShapesCopy[0][0];
386+
387+
// === Run inference ===
388+
auto output_tensors = pImplOrt->session->Run(
389+
pImplOrt->runOptions,
390+
inputNamesChar.data(),
391+
input_tensors.data(),
392+
input_tensors.size(),
393+
outputNamesChar.data(),
394+
outputNamesChar.size());
384395

385-
int32_t totalOutputSize = mOutputsTotal*inputShapesCopy[0][0];
386-
387-
// === Run inference ===
388-
auto output_tensors = pImplOrt->session->Run(
389-
pImplOrt->runOptions,
390-
inputNamesChar.data(),
391-
input_tensors.data(),
392-
input_tensors.size(),
393-
outputNamesChar.data(),
394-
outputNamesChar.size());
395-
396-
// === Extract output values ===
397-
O* output_data = output_tensors[0].template GetTensorMutableData<O>();
398-
std::vector<O> output_vec(output_data, output_data + totalOutputSize);
399-
output_tensors.clear();
400-
return output_vec;
396+
// === Extract output values ===
397+
O* output_data = output_tensors[0].template GetTensorMutableData<O>();
398+
std::vector<O> output_vec(output_data, output_data + totalOutputSize);
399+
output_tensors.clear();
400+
return output_vec;
401401
}
402402

403403
template std::vector<float> OrtModel::inference<float, float>(std::vector<std::vector<float>>&);

Detectors/TPC/calibration/include/TPCCalibration/NeuralNetworkClusterizer.h

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,15 @@ namespace o2::tpc
2323

2424
class NeuralNetworkClusterizer
2525
{
26-
public:
27-
NeuralNetworkClusterizer() = default;
28-
void initCcdbApi(std::string url);
29-
void loadIndividualFromCCDB(std::map<std::string, std::string> settings);
30-
31-
private:
32-
o2::ccdb::CcdbApi ccdbApi;
33-
std::map<std::string, std::string> metadata;
34-
std::map<std::string, std::string> headers;
35-
26+
public:
27+
NeuralNetworkClusterizer() = default;
28+
void initCcdbApi(std::string url);
29+
void loadIndividualFromCCDB(std::map<std::string, std::string> settings);
30+
31+
private:
32+
o2::ccdb::CcdbApi ccdbApi;
33+
std::map<std::string, std::string> metadata;
34+
std::map<std::string, std::string> headers;
3635
};
3736

3837
} // namespace o2::tpc

Detectors/TPC/calibration/src/NeuralNetworkClusterizer.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818

1919
using namespace o2::tpc;
2020

21-
void NeuralNetworkClusterizer::initCcdbApi(std::string url) {
21+
void NeuralNetworkClusterizer::initCcdbApi(std::string url)
22+
{
2223
ccdbApi.init(url);
2324
}
2425

GPU/GPUTracking/Base/GPUReconstructionCPU.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
#include "GPUReconstructionKernelIncludes.h"
2525
#include "GPUReconstructionKernels.h"
2626

27-
namespace Ort {
28-
struct SessionOptions;
27+
namespace Ort
28+
{
29+
struct SessionOptions;
2930
}
3031

3132
namespace o2::gpu

GPU/GPUTracking/Base/GPUReconstructionProcessing.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
#include <functional>
2323
#include <atomic>
2424

25-
namespace Ort {
25+
namespace Ort
26+
{
2627
struct SessionOptions;
2728
}
2829

GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ extern "C" __declspec(dllexport) o2::gpu::GPUReconstruction* GPUReconstruction_C
2525
extern "C" o2::gpu::GPUReconstruction* GPUReconstruction_Create_CUDA(const o2::gpu::GPUSettingsDeviceBackend& cfg);
2626
#endif
2727

28-
namespace Ort {
29-
struct SessionOptions;
28+
namespace Ort
29+
{
30+
struct SessionOptions;
3031
}
3132

3233
namespace o2::gpu

GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -665,16 +665,16 @@ int32_t GPUChainTracking::RunTPCClusterizer(bool synchronizeOutput)
665665
clustererNN.mISector = sector;
666666
clustererNN.nnClusterizerTotalClusters = processors()->tpcClusterer[lane].mNMaxClusters;
667667
nnApplications[lane].initClusterizer(nn_settings, clustererNN);
668-
if (doGPU){
668+
if (doGPU) {
669669
clustererNNShadow.deviceId = deviceId;
670670
clustererNNShadow.mISector = sector;
671671
clustererNNShadow.nnClusterizerTotalClusters = processors()->tpcClusterer[lane].mNMaxClusters;
672672
nnApplications[lane].initClusterizer(nn_settings, clustererNNShadow);
673673
}
674674
AllocateRegisteredMemory(clustererNN.mMemoryId);
675675
});
676-
if (doGPU){
677-
WriteToConstantMemory(RecoStep::TPCClusterFinding, (char*)&processors()->tpcNNClusterer - (char*)processors(), &processorsShadow()->tpcNNClusterer, sizeof(GPUTPCNNClusterizer)*NSECTORS, mRec->NStreams() - 1, &mEvents->init);
676+
if (doGPU) {
677+
WriteToConstantMemory(RecoStep::TPCClusterFinding, (char*)&processors()->tpcNNClusterer - (char*)processors(), &processorsShadow()->tpcNNClusterer, sizeof(GPUTPCNNClusterizer) * NSECTORS, mRec->NStreams() - 1, &mEvents->init);
678678
}
679679
}
680680
#endif

GPU/GPUTracking/TPCClusterFinder/GPUTPCNNClusterizer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class GPUTPCNNClusterizer : public GPUProcessor
5252
int nnClusterizerModelClassNumOutputNodes = -1;
5353
int nnClusterizerModelReg1NumOutputNodes = -1;
5454
int nnClusterizerModelReg2NumOutputNodes = -1;
55-
int nnInferenceInputDType = 0; // 0: float16, 1: float32
55+
int nnInferenceInputDType = 0; // 0: float16, 1: float32
5656
int nnInferenceOutputDType = 0; // 0: float16, 1: float32
5757
int mISector = -1;
5858
int deviceId = -1;

GPU/GPUTracking/TPCClusterFinder/GPUTPCNNClusterizerHost.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ void GPUTPCNNClusterizerHost::init(const GPUSettingsProcessingNNclusterizer& set
2727
std::vector<std::string> reg_model_paths;
2828
std::vector<std::string> evalMode = o2::utils::Str::tokenize(settings.nnEvalMode, ':');
2929

30-
if(settings.nnLoadFromCCDB) {
30+
if (settings.nnLoadFromCCDB) {
3131
reg_model_path = settings.nnLocalFolder + "/net_regression_c1.onnx"; // Needs to be set identical to NeuralNetworkClusterizer.cxx, otherwise the networks might be loaded from the wrong place
3232
if (evalMode[0] == "c1") {
3333
class_model_path = settings.nnLocalFolder + "/net_classification_c1.onnx";

0 commit comments

Comments
 (0)