Skip to content

Commit f7a264e

Browse files
committed
Please consider the following formatting changes
1 parent a985798 commit f7a264e

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>
@@ -100,8 +112,8 @@ class OrtModel
100112
std::vector<const char*> inputNamesChar, outputNamesChar;
101113
std::vector<std::string> mInputNames, mOutputNames;
102114
std::vector<std::vector<int64_t>> mInputShapes, mOutputShapes, inputShapesCopy, outputShapesCopy; // Input shapes
103-
std::vector<int64_t> inputSizePerNode, outputSizePerNode; // Output shapes
104-
int32_t mInputsTotal = 0, mOutputsTotal = 0; // Total number of inputs and outputs
115+
std::vector<int64_t> inputSizePerNode, outputSizePerNode; // Output shapes
116+
int32_t mInputsTotal = 0, mOutputsTotal = 0; // Total number of inputs and outputs
105117

106118
// Environment settings
107119
bool mInitialized = false;

Common/ML/src/OrtInterface.cxx

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

9999
void OrtModel::initEnvironment()
100100
{
101-
if(allocateDeviceMemory) {
101+
if (allocateDeviceMemory) {
102102
memoryOnDevice(deviceId);
103103
}
104104
pImplOrt->env = std::make_shared<Ort::Env>(
@@ -181,7 +181,8 @@ std::vector<O> OrtModel::v2v(std::vector<I>& input, bool clearInput)
181181
}
182182
}
183183

184-
void OrtModel::setIO() {
184+
void OrtModel::setIO()
185+
{
185186
for (size_t i = 0; i < (pImplOrt->session)->GetInputCount(); ++i) {
186187
mInputNames.push_back((pImplOrt->session)->GetInputNameAllocated(i, pImplOrt->allocator).get());
187188
}
@@ -208,7 +209,7 @@ void OrtModel::setIO() {
208209
outputSizePerNode.resize(mOutputShapes.size(), 1);
209210
mInputsTotal = 1;
210211
for (size_t i = 0; i < mInputShapes.size(); ++i) {
211-
if(mInputShapes[i].size() > 0) {
212+
if (mInputShapes[i].size() > 0) {
212213
for (size_t j = 1; j < mInputShapes[i].size(); ++j) {
213214
if (mInputShapes[i][j] > 0) {
214215
mInputsTotal *= mInputShapes[i][j];
@@ -219,7 +220,7 @@ void OrtModel::setIO() {
219220
}
220221
mOutputsTotal = 1;
221222
for (size_t i = 0; i < mOutputShapes.size(); ++i) {
222-
if(mOutputShapes[i].size() > 0) {
223+
if (mOutputShapes[i].size() > 0) {
223224
for (size_t j = 1; j < mOutputShapes[i].size(); ++j) {
224225
if (mOutputShapes[i][j] > 0) {
225226
mOutputsTotal *= mOutputShapes[i][j];
@@ -236,8 +237,7 @@ std::vector<O> OrtModel::inference(std::vector<I>& input)
236237
{
237238
std::vector<int64_t> inputShape = mInputShapes[0];
238239
inputShape[0] = input.size();
239-
for (size_t i = 1; i < mInputShapes[0].size(); ++i)
240-
{
240+
for (size_t i = 1; i < mInputShapes[0].size(); ++i) {
241241
inputShape[0] /= mInputShapes[0][i];
242242
}
243243
std::vector<Ort::Value> inputTensor;
@@ -290,28 +290,29 @@ template void OrtModel::inference<float, OrtDataType::Float16_t>(float*, size_t,
290290
template void OrtModel::inference<float, float>(float*, size_t, float*);
291291

292292
template <class I, class O>
293-
void OrtModel::inference(I** input, size_t input_size, O* output) {
293+
void OrtModel::inference(I** input, size_t input_size, O* output)
294+
{
294295
std::vector<Ort::Value> inputTensors(inputShapesCopy.size());
295296

296297
for (size_t i = 0; i < inputShapesCopy.size(); ++i) {
297298

298-
inputShapesCopy[i][0] = input_size; // batch-size
299+
inputShapesCopy[i][0] = input_size; // batch-size
299300
outputShapesCopy[i][0] = input_size; // batch-size
300301

301302
if constexpr (std::is_same_v<I, OrtDataType::Float16_t>) {
302303
inputTensors[i] = Ort::Value::CreateTensor<Ort::Float16_t>(
303-
pImplOrt->memoryInfo,
304-
reinterpret_cast<Ort::Float16_t*>(input[i]),
305-
inputSizePerNode[i]*input_size,
306-
inputShapesCopy[i].data(),
307-
inputShapesCopy[i].size());
304+
pImplOrt->memoryInfo,
305+
reinterpret_cast<Ort::Float16_t*>(input[i]),
306+
inputSizePerNode[i] * input_size,
307+
inputShapesCopy[i].data(),
308+
inputShapesCopy[i].size());
308309
} else {
309310
inputTensors[i] = Ort::Value::CreateTensor<I>(
310-
pImplOrt->memoryInfo,
311-
input[i],
312-
inputSizePerNode[i]*input_size,
313-
inputShapesCopy[i].data(),
314-
inputShapesCopy[i].size());
311+
pImplOrt->memoryInfo,
312+
input[i],
313+
inputSizePerNode[i] * input_size,
314+
inputShapesCopy[i].data(),
315+
inputShapesCopy[i].size());
315316
}
316317
}
317318

@@ -320,14 +321,14 @@ void OrtModel::inference(I** input, size_t input_size, O* output) {
320321
outputTensor = Ort::Value::CreateTensor<Ort::Float16_t>(
321322
pImplOrt->memoryInfo,
322323
reinterpret_cast<Ort::Float16_t*>(output),
323-
outputSizePerNode[0]*input_size, // assumes that there is only one output node
324+
outputSizePerNode[0] * input_size, // assumes that there is only one output node
324325
outputShapesCopy[0].data(),
325326
outputShapesCopy[0].size());
326327
} else {
327328
outputTensor = Ort::Value::CreateTensor<O>(
328329
pImplOrt->memoryInfo,
329330
output,
330-
outputSizePerNode[0]*input_size, // assumes that there is only one output node
331+
outputSizePerNode[0] * input_size, // assumes that there is only one output node
331332
outputShapesCopy[0].data(),
332333
outputShapesCopy[0].size());
333334
}
@@ -340,8 +341,7 @@ void OrtModel::inference(I** input, size_t input_size, O* output) {
340341
inputNamesChar.size(),
341342
outputNamesChar.data(),
342343
&outputTensor,
343-
outputNamesChar.size()
344-
);
344+
outputNamesChar.size());
345345
}
346346

347347
template void OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(OrtDataType::Float16_t**, size_t, OrtDataType::Float16_t*);
@@ -352,47 +352,47 @@ template void OrtModel::inference<float, float>(float**, size_t, float*);
352352
template <class I, class O>
353353
std::vector<O> OrtModel::inference(std::vector<std::vector<I>>& inputs)
354354
{
355-
std::vector<Ort::Value> input_tensors;
355+
std::vector<Ort::Value> input_tensors;
356356

357-
for (size_t i = 0; i < inputs.size(); ++i) {
357+
for (size_t i = 0; i < inputs.size(); ++i) {
358358

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

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

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

398398
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)