diff --git a/GPU/Common/GPULogging.h b/GPU/Common/GPULogging.h index 4e48105b1dbb5..58170ab0a8e27 100644 --- a/GPU/Common/GPULogging.h +++ b/GPU/Common/GPULogging.h @@ -23,7 +23,7 @@ #define GPUWarning(...) #define GPUError(...) #define GPUFatal(...) -#elif defined(GPUCA_STANDALONE) && !defined(GPUCA_GPUCODE_DEVICE) +#elif defined(GPUCA_STANDALONE) && !defined(GPUCA_GPUCODE_DEVICE) && !defined(GPUCA_NO_FMT) #include #define GPUInfo(string, ...) \ { \ diff --git a/GPU/GPUTracking/Base/opencl/CMakeLists.txt b/GPU/GPUTracking/Base/opencl/CMakeLists.txt index ed7cd3292f268..6939c10ca8be1 100644 --- a/GPU/GPUTracking/Base/opencl/CMakeLists.txt +++ b/GPU/GPUTracking/Base/opencl/CMakeLists.txt @@ -63,7 +63,7 @@ add_custom_command( # cmake-format: off add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/GPUReconstructionOCLCode.S - COMMAND cat ${GPUDIR}/Standalone/makefiles/include.S | sed "s/FILENAMEMOD/_makefile_opencl_program_Base_opencl_GPUReconstructionOCL1_cl/g" | sed "s/FILENAMENORMAL/GPUReconstructionOCL1Code.bin/g" > ${CMAKE_CURRENT_BINARY_DIR}/GPUReconstructionOCLCode.S + COMMAND cat ${GPUDIR}/Standalone/makefiles/include.S | sed "s/FILENAMEMOD/_makefile_opencl_program_Base_opencl_common_GPUReconstructionOCL_cl/g" | sed "s/FILENAMENORMAL/GPUReconstructionOCL1Code.bin/g" > ${CMAKE_CURRENT_BINARY_DIR}/GPUReconstructionOCLCode.S MAIN_DEPENDENCY ${GPUDIR}/Standalone/makefiles/include.S ) # cmake-format: on diff --git a/GPU/GPUTracking/Base/opencl/GPUReconstructionOCL1.cxx b/GPU/GPUTracking/Base/opencl/GPUReconstructionOCL1.cxx index 72dc92bafcb8b..d8daee670f872 100644 --- a/GPU/GPUTracking/Base/opencl/GPUReconstructionOCL1.cxx +++ b/GPU/GPUTracking/Base/opencl/GPUReconstructionOCL1.cxx @@ -25,7 +25,7 @@ using namespace GPUCA_NAMESPACE::gpu; #include #include "../makefiles/opencl_obtain_program.h" -extern "C" char _makefile_opencl_program_Base_opencl_GPUReconstructionOCL1_cl[]; +extern "C" char _makefile_opencl_program_Base_opencl_common_GPUReconstructionOCL_cl[]; GPUReconstruction* GPUReconstruction_Create_OCL(const GPUSettingsProcessing& cfg) { return new GPUReconstructionOCL1(cfg); } @@ -68,7 +68,7 @@ int GPUReconstructionOCL1Backend::GetOCLPrograms() return (1); } - if (_makefiles_opencl_obtain_program_helper(mInternals->context, count, mInternals->devices.get(), &mInternals->program, _makefile_opencl_program_Base_opencl_GPUReconstructionOCL1_cl)) { + if (_makefiles_opencl_obtain_program_helper(mInternals->context, count, mInternals->devices.get(), &mInternals->program, _makefile_opencl_program_Base_opencl_common_GPUReconstructionOCL_cl)) { clReleaseContext(mInternals->context); GPUError("Could not obtain OpenCL progarm"); return 1; diff --git a/GPU/GPUTracking/CMakeLists.txt b/GPU/GPUTracking/CMakeLists.txt index 758de60c7475e..c10a2bad6911e 100644 --- a/GPU/GPUTracking/CMakeLists.txt +++ b/GPU/GPUTracking/CMakeLists.txt @@ -24,9 +24,12 @@ else() AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(GPUCA_EVENT_DISPLAY ON) endif() - set(GPUCA_QA ON) + if(ROOT_FOUND) + set(GPUCA_QA ON) + endif() endif() +# General sources set(SRCS SliceTracker/GPUTPCTrack.cxx SliceTracker/GPUTPCBaseTrackParam.cxx @@ -112,6 +115,46 @@ set(HDRS_INSTALL dEdx/GPUdEdxInfo.h ) +# Sources only for O2 +if(ALIGPU_BUILD_TYPE STREQUAL "O2") + set(SRCS ${SRCS} Interface/GPUO2Interface.cxx) + set(HDRS_CINT_O2 ${HDRS_CINT_O2} Interface/GPUO2Interface.h) +endif() + +# Sources for O2 and for Standalone if requested in config file +if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR CONFIG_ROOT_AND_O2_EXTENSIONS) + set(SRCS_NO_CINT + ${SRCS_NO_CINT} + Standalone/display/GPUDisplayBackend.cxx + Global/GPUChainITS.cxx + ITS/GPUITSFitter.cxx + ITS/GPUITSFitterKernels.cxx + dEdx/GPUdEdx.cxx + TPCConvert/GPUTPCConvert.cxx + TPCConvert/GPUTPCConvertKernel.cxx + DataCompression/GPUTPCCompression.cxx + DataCompression/GPUTPCCompressionTrackModel.cxx + DataCompression/GPUTPCCompressionKernels.cxx + DataCompression/TPCClusterDecompressor.cxx + DataCompression/GPUTPCClusterStatistics.cxx) + set(HDRS_INSTALL ${HDRS_INSTALL} Interface/GPUO2InterfaceConfiguration.h + ITS/GPUITSTrack.h dEdx/GPUdEdxInfo.h) +else() + set(HDRS_INSTALL + ${HDRS_INSTALL} + ITS/GPUITSFitter.h + ITS/GPUITSFitterKernels.h + ITS/GPUITSTrack.h + TPCConvert/GPUTPCConvert.h + TPCConvert/GPUTPCConvertKernel.h + DataCompression/GPUTPCCompression.h + DataCompression/GPUTPCCompressionTrackModel.h + DataCompression/GPUTPCCompressionKernels.h + DataCompression/TPCClusterDecompressor.h + DataCompression/GPUTPCClusterStatistics.h) +endif() + +# Sources only for AliRoot if(ALIGPU_BUILD_TYPE STREQUAL "ALIROOT") set(SRCS ${SRCS} @@ -129,43 +172,10 @@ if(ALIGPU_BUILD_TYPE STREQUAL "ALIROOT") ${CMAKE_SOURCE_DIR}/HLT/TPCLib/AliHLTTPCDefinitions.cxx ${CMAKE_SOURCE_DIR}/HLT/TRD/AliHLTTRDDefinitions.cxx) - set(HDRS_INSTALL - ${HDRS_INSTALL} - SliceTracker/GPUTPCDefinitions.h - ITS/GPUITSFitter.h - ITS/GPUITSFitterKernels.h - ITS/GPUITSTrack.h - TPCConvert/GPUTPCConvert.h - TPCConvert/GPUTPCConvertKernel.h - DataCompression/GPUTPCCompression.h - DataCompression/GPUTPCCompressionTrackModel.h - DataCompression/GPUTPCCompressionKernels.h - DataCompression/TPCClusterDecompressor.h - DataCompression/GPUTPCClusterStatistics.h) -else() - set(SRCS_NO_CINT - ${SRCS_NO_CINT} - Standalone/display/GPUDisplayBackend.cxx - Global/GPUChainITS.cxx - ITS/GPUITSFitter.cxx - ITS/GPUITSFitterKernels.cxx - dEdx/GPUdEdx.cxx - TPCConvert/GPUTPCConvert.cxx - TPCConvert/GPUTPCConvertKernel.cxx - DataCompression/GPUTPCCompression.cxx - DataCompression/GPUTPCCompressionTrackModel.cxx - DataCompression/GPUTPCCompressionKernels.cxx - DataCompression/TPCClusterDecompressor.cxx - DataCompression/GPUTPCClusterStatistics.cxx) - set(HDRS_INSTALL ${HDRS_INSTALL} Interface/GPUO2InterfaceConfiguration.h - ITS/GPUITSTrack.h dEdx/GPUdEdxInfo.h) -endif() - -if(ALIGPU_BUILD_TYPE STREQUAL "O2") - set(SRCS ${SRCS} Interface/GPUO2Interface.cxx) - set(HDRS_CINT_O2 ${HDRS_CINT_O2} Interface/GPUO2Interface.h) + set(HDRS_INSTALL ${HDRS_INSTALL} SliceTracker/GPUTPCDefinitions.h) endif() +# Optional sources depending on optional dependencies if(GPUCA_EVENT_DISPLAY) set(SRCS_NO_CINT ${SRCS_NO_CINT} Standalone/utils/qsem.cxx Standalone/display/GPUDisplay.cxx @@ -187,11 +197,13 @@ if(GPUCA_EVENT_DISPLAY OR GPUCA_QA) set(HDRS_INSTALL ${HDRS_INSTALL} Standalone/qconfigoptions.h) endif() +# Update HDR variables with files derrived from SRC variables string(REPLACE ".cxx" ".h" HDRS_CINT_ALIROOT "${SRCS}") string(REPLACE ".cxx" ".h" HDRS_TMP "${SRCS_NO_CINT}") set(HDRS_INSTALL ${HDRS_INSTALL} ${HDRS_TMP}) unset(HDRS_TMP) +# Main CMake part for O2 if(ALIGPU_BUILD_TYPE STREQUAL "O2") o2_add_library(${MODULE} TARGETVARNAME targetName @@ -242,6 +254,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") FILES_MATCHING PATTERN *.h) endif() +# Main CMake part for AliRoot if(ALIGPU_BUILD_TYPE STREQUAL "ALIROOT") set(HDRS_CINT_ALIROOT ${HDRS_CINT_ALIROOT} Base/GPUO2DataTypes.h) @@ -333,6 +346,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "ALIROOT") add_library(O2::${MODULE} ALIAS Ali${MODULE}) endif() +# Main CMake part for Standalone if(ALIGPU_BUILD_TYPE STREQUAL "Standalone") add_library(${MODULE} SHARED ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H}) set(targetName ${MODULE}) @@ -347,6 +361,7 @@ if(GPUCA_EVENT_DISPLAY) OpenGL::GLU) endif() +# Add compile definitions and libraries depending on available optional dependencies if(GPUCA_QA) message(STATUS "Building GPU QA") target_compile_definitions(${targetName} PRIVATE GPUCA_BUILD_QA) @@ -371,6 +386,7 @@ if(HIP_ENABLED) target_compile_definitions(${targetName} PRIVATE HIP_ENABLED) endif() +# Add CMake recipes for GPU Tracking librararies if(CUDA_ENABLED OR OPENCL1_ENABLED OR OPENCL2_ENABLED OR HIP_ENABLED) if(CMAKE_SYSTEM_NAME MATCHES Darwin) message(WARNING "GPU Tracking disabled on MacOS") diff --git a/GPU/GPUTracking/SliceTracker/GPUTPCTrackletSelector.cxx b/GPU/GPUTracking/SliceTracker/GPUTPCTrackletSelector.cxx index 429adcad99a46..4d2c289973963 100644 --- a/GPU/GPUTracking/SliceTracker/GPUTPCTrackletSelector.cxx +++ b/GPU/GPUTracking/SliceTracker/GPUTPCTrackletSelector.cxx @@ -76,7 +76,9 @@ GPUd() void GPUTPCTrackletSelector::Thread<0>(int nBlocks, int nThreads, int iBl s.fHits[iThread][nHits].Set(irow, ih); } else #endif // GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE != 0 + { trackHits[nHits - GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE].Set(irow, ih); + } nHits++; if (!own) { nShared++; @@ -110,8 +112,9 @@ GPUd() void GPUTPCTrackletSelector::Thread<0>(int nBlocks, int nThreads, int iBl tracker.TrackHits()[nFirstTrackHit + jh] = s.fHits[iThread][jh]; } else #endif // GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE != 0 - + { tracker.TrackHits()[nFirstTrackHit + jh] = trackHits[jh - GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE]; + } } } nHits = 0; diff --git a/GPU/GPUTracking/Standalone/CMakeLists.txt b/GPU/GPUTracking/Standalone/CMakeLists.txt index d969f3d4bc177..006192034dc07 100644 --- a/GPU/GPUTracking/Standalone/CMakeLists.txt +++ b/GPU/GPUTracking/Standalone/CMakeLists.txt @@ -8,23 +8,24 @@ # granted to it by virtue of its status as an Intergovernmental Organization or # submit itself to any jurisdiction. -cmake_minimum_required(VERSION 3.13 FATAL_ERROR) +# Some general CMake settings +cmake_minimum_required(VERSION 3.14 FATAL_ERROR) include(FeatureSummary) - set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}") set(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}") +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/dependencies ${CMAKE_MODULE_PATH}) + +# Copy and include Config File if(NOT EXISTS "${CMAKE_BINARY_DIR}/config.cmake") file(COPY "${CMAKE_SOURCE_DIR}/cmake/config.cmake" DESTINATION "${CMAKE_BINARY_DIR}") endif() include("${CMAKE_BINARY_DIR}/config.cmake") -install(FILES "cmake/makefile" DESTINATION "${CMAKE_INSTALL_PREFIX}") - +# Set Build and Compiler settings set(ALIGPU_BUILD_TYPE "Standalone") -add_definitions(-DGPUCA_STANDALONE -DHAVE_O2HEADERS) - +add_definitions(-DGPUCA_STANDALONE) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) set(CMAKE_POSITION_INDEPENDENT_CODE ON) @@ -32,15 +33,17 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(BUILD_DEBUG) set(CMAKE_CXX_FLAGS "-O0 -ggdb") else() - set(CMAKE_CXX_FLAGS "-O3 -march=native -ggdb -minline-all-stringops -ftracer -funroll-loops -fprefetch-loop-arrays -ffast-math -fno-stack-protector -Werror -Wall -Wextra -Wshadow -Wno-unused-function -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-write-strings") + set(CMAKE_CXX_FLAGS "-O3 -march=native -ggdb -minline-all-stringops -ftracer -funroll-loops -fprefetch-loop-arrays -ffast-math -fno-stack-protector -Werror -Wall -Wextra -Wshadow -Wno-unused-function -Wno-unused-parameter -Wno-unused-local-typedefs -Wno-unknown-pragmas -Wno-write-strings") add_definitions(-DNDEBUG) endif() set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -rdynamic -Wl,--no-undefined") +# Check and set settings for optional packages if(CONFIG_OPENMP) find_package(OpenMP REQUIRED) else() set(OpenMP_FOUND OFF) + set(OpenMP_CXX_FOUND OFF) endif() if(CONFIG_VC) @@ -55,6 +58,7 @@ if(BUILD_EVENT_DISPLAY) find_package(GLEW REQUIRED) find_package(GLUT REQUIRED) find_package(OpenGL REQUIRED) + find_package(X11 REQUIRED) else() set(OpenGL_FOUND OFF) endif() @@ -63,15 +67,27 @@ if(CONFIG_O2) add_definitions(-DGPUCA_TPC_GEOMETRY_O2) endif() -find_package(ROOT CONFIG REQUIRED) -find_package(Clang REQUIRED) -find_package(LLVM REQUIRED) -find_package(X11 REQUIRED) -find_package(fmt REQUIRED) +if(CONFIG_ROOT_AND_O2_EXTENSIONS) + find_package(ROOT CONFIG REQUIRED) + add_definitions(-DHAVE_O2HEADERS) + if(NOT DEFINED MS_GSL_INCLUDE_DIR AND DEFINED ENV{MS_GSL_ROOT}) + set(MS_GSL_INCLUDE_DIR $ENV{MS_GSL_ROOT}/include) + endif() + find_package(ms_gsl REQUIRED) +else() + set(ROOT_FOUND OFF) +endif() + +if(CONFIG_FMT) + find_package(fmt REQUIRED) +else() + add_definitions(-DGPUCA_NO_FMT) +endif() -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/dependencies ${CMAKE_MODULE_PATH}) +# Detect GPU Backends find_package(O2GPU) +# Global include directories include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/Base ${CMAKE_SOURCE_DIR}/Base/opencl-common @@ -105,49 +121,68 @@ include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/../../../Detectors/TRD/base/include ${CMAKE_SOURCE_DIR}/../../../Detectors/TRD/base/src) +# Create main targets +add_executable(ca standalone.cxx + Base/GPUReconstructionTimeframe.cxx) add_subdirectory(../../ GPU) +add_library(standalone_support SHARED utils/qconfig.cxx) -add_executable(ca standalone.cxx qa/genEvents.cxx - Base/GPUReconstructionTimeframe.cxx) +target_link_libraries(GPUTracking PUBLIC TPCFastTransformation standalone_support dl) +target_link_libraries(ca PUBLIC GPUTracking) +target_link_libraries(standalone_support PUBLIC dl pthread) +target_compile_definitions(ca PUBLIC $) +target_compile_definitions(standalone_support PUBLIC $) + +# Add all sources and dependencies to to support based on Config File +if(CONFIG_ROOT_AND_O2_EXTENSIONS) + target_sources(standalone_support PRIVATE + ../../..//DataFormats/simulation/src/MCCompLabel.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/PrimaryVertexContext.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/Cluster.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/ClusterLines.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/TrackerTraitsCPU.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/VertexerTraits.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/ROframe.cxx + ../../..//Detectors/ITSMFT/ITS/tracking/src/Road.cxx + ../../..//Detectors/TRD/base/src/TRDGeometryBase.cxx + ../../..//Detectors/Base/src/MatLayerCylSet.cxx + ../../..//Detectors/Base/src/MatLayerCyl.cxx + ../../..//Detectors/Base/src/Ray.cxx) + target_sources(ca PRIVATE qa/genEvents.cxx) +endif() + +if(CONFIG_FMT) + target_link_libraries(standalone_support PUBLIC fmt::fmt) +endif() + +if(CONFIG_VC) + target_link_libraries(standalone_support PUBLIC Vc::Vc) +endif() -add_library(o2_support SHARED - ../../..//DataFormats/simulation/src/MCCompLabel.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/PrimaryVertexContext.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/Cluster.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/ClusterLines.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/TrackerTraitsCPU.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/VertexerTraits.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/ROframe.cxx - ../../..//Detectors/ITSMFT/ITS/tracking/src/Road.cxx - ../../..//Detectors/TRD/base/src/TRDGeometryBase.cxx - ../../..//Detectors/Base/src/MatLayerCylSet.cxx - ../../..//Detectors/Base/src/MatLayerCyl.cxx - ../../..//Detectors/Base/src/Ray.cxx) - -add_library(standalone_config SHARED utils/qconfig.cxx) - -target_sources(GPUTracking PRIVATE display/GPUDisplayBackendX11.cxx - display/GPUDisplayBackendGlut.cxx) - -target_link_libraries(o2_support - PUBLIC Vc::Vc +if(BUILD_EVENT_DISPLAY) + target_link_libraries(standalone_support PUBLIC X11::X11 glfw - glut - fmt::fmt + glut) + target_sources(GPUTracking PRIVATE display/GPUDisplayBackendX11.cxx + display/GPUDisplayBackendGlut.cxx) +endif() + +if(CONFIG_ROOT_AND_O2_EXTENSIONS) + target_link_libraries(standalone_support PUBLIC ROOT::Core ROOT::RIO ROOT::Hist - ROOT::Gui) + ROOT::Gui + ms_gsl::ms_gsl) +endif() + if(CONFIG_VC) target_link_libraries(TPCFastTransformation PUBLIC Vc::Vc) endif() -target_link_libraries(GPUTracking PUBLIC TPCFastTransformation o2_support standalone_config dl) -target_link_libraries(ca PUBLIC GPUTracking) -target_compile_definitions(ca PUBLIC $) -target_compile_definitions(standalone_config PUBLIC $) - -install(TARGETS ca GPUTracking TPCFastTransformation o2_support standalone_config) +# Installation +install(TARGETS ca GPUTracking TPCFastTransformation standalone_support) +install(FILES "cmake/makefile" DESTINATION "${CMAKE_INSTALL_PREFIX}") install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SOURCE_DIR} ${CMAKE_INSTALL_PREFIX}/src)") install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_BINARY_DIR}/config.cmake ${CMAKE_INSTALL_PREFIX}/config.cmake)") diff --git a/GPU/GPUTracking/Standalone/cmake/config.cmake b/GPU/GPUTracking/Standalone/cmake/config.cmake index 821b555a25858..521a0bad13df2 100644 --- a/GPU/GPUTracking/Standalone/cmake/config.cmake +++ b/GPU/GPUTracking/Standalone/cmake/config.cmake @@ -4,6 +4,8 @@ set(ENABLE_OPENCL1 AUTO) set(ENABLE_OPENCL2 AUTO) set(CONFIG_OPENMP 1) set(CONFIG_VC 1) +set(CONFIG_FMT 1) +set(CONFIG_ROOT_AND_O2_EXTENSIONS 1) set(BUILD_EVENT_DISPLAY 1) set(CONFIG_O2 1) set(BUILD_DEBUG 0) diff --git a/GPU/GPUTracking/Standalone/config_common.mak b/GPU/GPUTracking/Standalone/config_common.mak index 771ae945e4bc2..3c11a2ad522b6 100644 --- a/GPU/GPUTracking/Standalone/config_common.mak +++ b/GPU/GPUTracking/Standalone/config_common.mak @@ -41,6 +41,12 @@ else DEFINES += GPUCA_NO_VC endif +ifeq ($(CONFIG_FMT), 1) +LIBSUSE += -lfmt +else +DEFINES += GPUCA_NO_FMT +endif + ifeq ($(LINK_ROOT), 0) ifneq ($(CONFIG_O2DIR), ) $(warning Cannot use O2DIR without ROOT) diff --git a/GPU/GPUTracking/Standalone/config_libGPUTrackingOCL.mak b/GPU/GPUTracking/Standalone/config_libGPUTrackingOCL.mak index 238bed0f25c3e..390720905176c 100644 --- a/GPU/GPUTracking/Standalone/config_libGPUTrackingOCL.mak +++ b/GPU/GPUTracking/Standalone/config_libGPUTrackingOCL.mak @@ -4,8 +4,12 @@ include config_common.mak TARGET = libGPUTrackingOCL TARGETTYPE = LIB -CXXFILES = Base/opencl/GPUReconstructionOCL.cxx -CLFILES = Base/opencl/GPUReconstructionOCL.cl +CXXFILES = Base/opencl/GPUReconstructionOCL1.cxx \ + Base/opencl-common/GPUReconstructionOCL.cxx + +CLFILES = Base/opencl-common/GPUReconstructionOCL.cl + +INCLUDEPATHS += Base/opencl-common CONFIG_OPENCL = 1 OPENCL_OPTIONS = -x clc++ diff --git a/GPU/GPUTracking/Standalone/makefiles/makefile b/GPU/GPUTracking/Standalone/makefiles/makefile index d588ceaa40055..b400f2df6d90f 100644 --- a/GPU/GPUTracking/Standalone/makefiles/makefile +++ b/GPU/GPUTracking/Standalone/makefiles/makefile @@ -273,11 +273,11 @@ $(WORKPATH)/cl/%.clbin: %.cl $(WORKPATH)/_makefiles_support_opencl.exe $(ALLDE $(WORKPATH)/cl/%.$(OBJ): $(WORKPATH)/cl/%.clbin $(ALLDEP) @echo $< - $(HIDEECHOA) sed -e "s&FILENAMENORMAL&$<&g" -e "s&FILENAMEMOD&_makefile_opencl_program_`echo $< | sed -e "s&$(WORKPATH)/cl/&&g" -e "s&\.clbin&\.cl&g" -e "s&\.&_&g" -e "s&/&_&g" -e "s& &_&g"`&g" makefiles/include.S | $(GCC3264) -c -x assembler -o $@ - + $(HIDEECHOA) sed -e "s&FILENAMENORMAL&$<&g" -e "s&FILENAMEMOD&_makefile_opencl_program_`echo $< | sed -e "s&$(WORKPATH)/cl/&&g" -e "s&\.clbin&\.cl&g" -e "s&\.&_&g" -e "s&-&_&g" -e "s&/&_&g" -e "s& &_&g"`&g" makefiles/include.S | $(GCC3264) -c -x assembler -o $@ - $(WORKPATH)/res/%.$(OBJ): % $(ALLDEP) @echo $< $(MKDIR) - $(HIDEECHOA) sed -e "s&FILENAMENORMAL&$<&g" -e "s&FILENAMEMOD&_resource_`echo $< | sed -e "s&\.&_&g" -e "s&/&_&g" -e "s& &_&g"`&g" makefiles/include.S | $(GCC3264) -c -x assembler -o $@ - + $(HIDEECHOA) sed -e "s&FILENAMENORMAL&$<&g" -e "s&FILENAMEMOD&_resource_`echo $< | sed -e "s&\.&_&g" -e "s&-&_&g" -e "s&/&_&g" -e "s& &_&g"`&g" makefiles/include.S | $(GCC3264) -c -x assembler -o $@ -