Skip to content

Commit d15594f

Browse files
committed
GPU: Move some files such that GPUDataTypes does not depend on TPCFastTransformation
1 parent eeb1c86 commit d15594f

38 files changed

Lines changed: 89 additions & 87 deletions

GPU/GPUTracking/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,9 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
352352
PUBLIC_LINK_LIBRARIES O2::GPUUtils
353353
O2::GPUCommon
354354
O2::ReconstructionDataFormats
355-
O2::TPCFastTransformation
356355
PRIVATE_LINK_LIBRARIES O2::DataFormatsTPC
357356
O2::TPCBase
357+
ROOT::RIO
358358
SOURCES ${SRCS_DATATYPES})
359359
target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB)
360360

GPU/GPUTracking/Standalone/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ target_link_libraries(standalone_support PUBLIC
208208
pthread
209209
Microsoft.GSL::GSL)
210210

211+
target_link_libraries(GPUUtils PUBLIC standalone_support)
211212
target_link_libraries(GPUTracking PUBLIC standalone_support)
212213
target_link_libraries(TPCFastTransformation PUBLIC standalone_support)
213214

GPU/TPCFastTransformation/CMakeLists.txt

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@
1212
set(MODULE TPCFastTransformation)
1313

1414
set(SRCS
15-
SplineSpec.cxx
16-
Spline.cxx
17-
Spline1DSpec.cxx
18-
Spline1D.cxx
19-
Spline2DSpec.cxx
20-
Spline2D.cxx
2115
TPCFastTransformGeo.cxx
2216
TPCFastSpaceChargeCorrection.cxx
2317
TPCFastSpaceChargeCorrectionMap.cxx
@@ -29,24 +23,18 @@ if(NOT ALIGPU_BUILD_TYPE STREQUAL "Standalone")
2923
set(SRCS ${SRCS}
3024
CorrectionMapsHelper.cxx
3125
ChebyshevFit1D.cxx
32-
SplineHelper.cxx
33-
Spline1DHelper.cxx
34-
Spline2DHelper.cxx
35-
Spline1DHelperOld.cxx
36-
SymMatrixSolver.cxx
37-
BandMatrixSolver.cxx
38-
MultivariatePolynomial.cxx
39-
MultivariatePolynomialHelper.cxx
40-
NDPiecewisePolynomials.cxx
4126
devtools/IrregularSpline1D.cxx
4227
devtools/IrregularSpline2D3D.cxx
4328
devtools/SemiregularSpline2D3D.cxx
4429
devtools/IrregularSpline2D3DCalibrator.cxx
4530
)
4631
endif()
4732

48-
string(REPLACE ".cxx" ".h" HDRS_CINT_O2 "${SRCS}")
49-
set(HDRS_CINT_O2 ${HDRS_CINT_O2} SplineUtil.h devtools/RegularSpline1D.h CorrectionMapsTypes.h)
33+
string(REPLACE ".cxx" ".h" HDRS_CINT "${SRCS}")
34+
set(HDRS_CINT ${HDRS_CINT}
35+
devtools/RegularSpline1D.h
36+
CorrectionMapsTypes.h
37+
)
5038

5139
if(${ALIGPU_BUILD_TYPE} STREQUAL "O2")
5240
o2_add_library(${MODULE}
@@ -62,10 +50,10 @@ if(${ALIGPU_BUILD_TYPE} STREQUAL "O2")
6250
ROOT::Core ROOT::Matrix ROOT::Tree ROOT::Gpad ROOT::Minuit
6351
)
6452
o2_target_root_dictionary(${MODULE}
65-
HEADERS ${HDRS_CINT_O2}
53+
HEADERS ${HDRS_CINT}
6654
LINKDEF TPCFastTransformationLinkDef_O2.h)
6755

68-
file(COPY ${HDRS_CINT_O2} DESTINATION ${CMAKE_BINARY_DIR}/stage/include/GPU)
56+
file(COPY ${HDRS_CINT} DESTINATION ${CMAKE_BINARY_DIR}/stage/include/GPU)
6957

7058
o2_add_test(${MODULE}
7159
PUBLIC_LINK_LIBRARIES O2::${MODULE}
@@ -123,10 +111,11 @@ if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
123111
add_library(${MODULE} SHARED ${SRCS})
124112
set(targetName ${MODULE})
125113
target_include_directories(${targetName} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
126-
install(TARGETS TPCFastTransformation)
114+
target_link_libraries(${targetName} PUBLIC GPUUtils)
115+
install(TARGETS ${MODULE})
127116
endif()
128117

129-
install(FILES ${HDRS_CINT_O2} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GPU)
118+
install(FILES ${HDRS_CINT} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GPU)
130119

131120
#
132121
# FIXME: this one is misplaced : it depends (at least) on TPCSimulation which is

GPU/TPCFastTransformation/MultivariatePolynomial.cxx

Lines changed: 0 additions & 15 deletions
This file was deleted.

GPU/TPCFastTransformation/NDPiecewisePolynomials.cxx

Lines changed: 0 additions & 15 deletions
This file was deleted.

GPU/TPCFastTransformation/TPCFastTransformationLinkDef_O2.h

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,7 @@
2323

2424
#pragma link C++ namespace o2::gpu;
2525

26-
#pragma link C++ class o2::gpu::Spline1DContainer < float, o2::gpu::FlatObject> + ;
27-
#pragma link C++ class o2::gpu::Spline1DContainer < double, o2::gpu::FlatObject> + ;
28-
#pragma link C++ class o2::gpu::Spline1D < float, 0, o2::gpu::FlatObject> + ;
29-
#pragma link C++ class o2::gpu::Spline1D < double, 0, o2::gpu::FlatObject> + ;
30-
#pragma link C++ class o2::gpu::Spline1DHelperOld < float> + ;
31-
#pragma link C++ class o2::gpu::Spline1DHelperOld < double> + ;
32-
#pragma link C++ class o2::gpu::Spline1DHelper < float> + ;
33-
#pragma link C++ class o2::gpu::Spline1DHelper < double> + ;
34-
#pragma link C++ class o2::gpu::Spline1DSpec < float, 0, 2> + ;
35-
#pragma link C++ class o2::gpu::Spline1DSpec < double, 0, 2> + ;
36-
37-
#pragma link C++ class o2::gpu::Spline2DContainer < float, o2::gpu::FlatObject> + ;
38-
#pragma link C++ class o2::gpu::Spline2DContainer < double, o2::gpu::FlatObject> + ;
39-
#pragma link C++ class o2::gpu::Spline2D < float, 0, o2::gpu::FlatObject> + ;
40-
#pragma link C++ class o2::gpu::Spline2D < double, 0, o2::gpu::FlatObject> + ;
41-
#pragma link C++ class o2::gpu::Spline2DHelper < float> + ;
42-
#pragma link C++ class o2::gpu::Spline2DHelper < double> + ;
43-
44-
#pragma link C++ class o2::gpu::SplineContainer < float> + ;
45-
#pragma link C++ class o2::gpu::SplineContainer < double> + ;
46-
#pragma link C++ class o2::gpu::Spline < float> + ;
47-
#pragma link C++ class o2::gpu::Spline < double> + ;
48-
#pragma link C++ class o2::gpu::SplineHelper < float> + ;
49-
#pragma link C++ class o2::gpu::SplineHelper < double> + ;
50-
5126
#pragma link C++ class o2::gpu::ChebyshevFit1D + ;
52-
#pragma link C++ class o2::gpu::SymMatrixSolver + ;
53-
#pragma link C++ class o2::gpu::BandMatrixSolver < 0> + ;
5427

5528
#pragma link C++ class o2::gpu::RegularSpline1D + ;
5629
#pragma link C++ class o2::gpu::IrregularSpline1D + ;
@@ -89,8 +62,6 @@
8962
#pragma read \
9063
sourceClass = "o2::gpu::TPCFastSpaceChargeCorrection" targetClass = "o2::gpu::TPCFastSpaceChargeCorrection" source = "float fInterpolationSafetyMargin" version = "[-3]" target = "" code = "{}";
9164

92-
#pragma link C++ struct o2::gpu::MultivariatePolynomialContainer + ;
93-
#pragma link C++ struct o2::gpu::NDPiecewisePolynomialContainer + ;
9465
#pragma link C++ struct o2::gpu::TPCSlowSpaceChargeCorrection + ;
9566
#pragma link C++ class o2::gpu::TPCFastTransformPOD + ;
9667

File renamed without changes.
File renamed without changes.

GPU/Utils/CMakeLists.txt

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,49 @@
1111

1212
set(MODULE GPUUtils)
1313

14-
set(HDRS_CINT FlatObject.h
15-
GPUCommonBitSet.h
14+
set(SRCS
15+
Spline.cxx
16+
SplineSpec.cxx
17+
Spline1DSpec.cxx
18+
Spline1D.cxx
19+
Spline2DSpec.cxx
20+
Spline2D.cxx
1621
)
1722

18-
set(HDRS_INSTALL
23+
if(NOT ALIGPU_BUILD_TYPE STREQUAL "Standalone")
24+
set(SRCS ${SRCS}
25+
MultivariatePolynomialHelper.cxx
26+
SplineHelper.cxx
27+
Spline1DHelper.cxx
28+
Spline2DHelper.cxx
29+
Spline1DHelperOld.cxx
30+
SymMatrixSolver.cxx
31+
BandMatrixSolver.cxx
32+
)
33+
endif()
34+
35+
string(REPLACE ".cxx" ".h" HDRS_CINT "${SRCS}")
36+
set(HDRS_CINT ${HDRS_CINT}
37+
FlatObject.h
38+
GPUCommonBitSet.h
39+
SplineUtil.h
1940
)
2041

42+
if(NOT ALIGPU_BUILD_TYPE STREQUAL "Standalone")
43+
set(HDRS_CINT ${HDRS_CINT}
44+
MultivariatePolynomial.h
45+
NDPiecewisePolynomials.h
46+
)
47+
endif()
48+
2149
if(ALIGPU_BUILD_TYPE STREQUAL "O2")
2250
o2_add_library(${MODULE}
23-
SOURCES ../GPUTracking/utils/EmptyFile.cxx
51+
SOURCES ${SRCS}
2452
TARGETVARNAME targetName
25-
PUBLIC_LINK_LIBRARIES O2::GPUCommon ROOT::RIO)
53+
PUBLIC_LINK_LIBRARIES O2::GPUCommon
54+
Vc::Vc
55+
ROOT::RIO ROOT::Core ROOT::Matrix ROOT::Tree ROOT::Gpad ROOT::Minuit
56+
)
2657
target_include_directories(${targetName}
2758
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
2859
$<INSTALL_INTERFACE:include/GPU>)
@@ -33,4 +64,12 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2")
3364

3465
endif()
3566

36-
install(FILES ${HDRS_CINT} ${HDRS_INSTALL} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GPU)
67+
if(ALIGPU_BUILD_TYPE STREQUAL "Standalone")
68+
add_library(${MODULE} SHARED ${SRCS})
69+
set(targetName ${MODULE})
70+
target_include_directories(${targetName} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
71+
install(TARGETS ${MODULE})
72+
endif()
73+
74+
75+
install(FILES ${HDRS_CINT} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GPU)

GPU/Utils/GPUUtilsLinkDef.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,36 @@
5252
#pragma link C++ class o2::gpu::gpustd::bitset < 31> + ;
5353
#pragma link C++ class o2::gpu::gpustd::bitset < 32> + ;
5454

55+
#pragma link C++ class o2::gpu::Spline1DContainer < float, o2::gpu::FlatObject> + ;
56+
#pragma link C++ class o2::gpu::Spline1DContainer < double, o2::gpu::FlatObject> + ;
57+
#pragma link C++ class o2::gpu::Spline1D < float, 0, o2::gpu::FlatObject> + ;
58+
#pragma link C++ class o2::gpu::Spline1D < double, 0, o2::gpu::FlatObject> + ;
59+
#pragma link C++ class o2::gpu::Spline1DHelperOld < float> + ;
60+
#pragma link C++ class o2::gpu::Spline1DHelperOld < double> + ;
61+
#pragma link C++ class o2::gpu::Spline1DHelper < float> + ;
62+
#pragma link C++ class o2::gpu::Spline1DHelper < double> + ;
63+
#pragma link C++ class o2::gpu::Spline1DSpec < float, 0, 2> + ;
64+
#pragma link C++ class o2::gpu::Spline1DSpec < double, 0, 2> + ;
65+
66+
#pragma link C++ class o2::gpu::Spline2DContainer < float, o2::gpu::FlatObject> + ;
67+
#pragma link C++ class o2::gpu::Spline2DContainer < double, o2::gpu::FlatObject> + ;
68+
#pragma link C++ class o2::gpu::Spline2D < float, 0, o2::gpu::FlatObject> + ;
69+
#pragma link C++ class o2::gpu::Spline2D < double, 0, o2::gpu::FlatObject> + ;
70+
#pragma link C++ class o2::gpu::Spline2DHelper < float> + ;
71+
#pragma link C++ class o2::gpu::Spline2DHelper < double> + ;
72+
73+
#pragma link C++ class o2::gpu::SplineContainer < float> + ;
74+
#pragma link C++ class o2::gpu::SplineContainer < double> + ;
75+
#pragma link C++ class o2::gpu::SplineHelper < float> + ;
76+
#pragma link C++ class o2::gpu::SplineHelper < double> + ;
77+
78+
#pragma link C++ class o2::gpu::Spline < float> + ;
79+
#pragma link C++ class o2::gpu::Spline < double> + ;
80+
81+
#pragma link C++ struct o2::gpu::MultivariatePolynomialContainer + ;
82+
#pragma link C++ struct o2::gpu::NDPiecewisePolynomialContainer + ;
83+
84+
#pragma link C++ class o2::gpu::SymMatrixSolver + ;
85+
#pragma link C++ class o2::gpu::BandMatrixSolver < 0> + ;
86+
5587
#endif

0 commit comments

Comments
 (0)