diff --git a/src/alpaka/Makefile b/src/alpaka/Makefile index ad5b91ea1..2cc62e515 100644 --- a/src/alpaka/Makefile +++ b/src/alpaka/Makefile @@ -31,7 +31,7 @@ EXE_DEP := $(EXE_OBJ:$.o=$.d) LIBNAMES := $(filter-out plugin-% bin test Makefile% plugins.txt%,$(wildcard *)) PLUGINNAMES := $(patsubst plugin-%,%,$(filter plugin-%,$(wildcard *))) -MY_CXXFLAGS := -I$(TARGET_DIR) -DSRC_DIR=$(TARGET_DIR) -DLIB_DIR=$(LIB_DIR)/$(TARGET_NAME) -DALPAKA_HOST_ONLY -DALPAKA_ACC_CPU_B_SEQ_T_SEQ_PRESENT -DALPAKA_ACC_CPU_B_TBB_T_SEQ_PRESENT +MY_CXXFLAGS := -I$(TARGET_DIR) -DLIB_DIR=$(LIB_DIR)/$(TARGET_NAME) -DALPAKA_HOST_ONLY -DALPAKA_ACC_CPU_B_SEQ_T_SEQ_PRESENT -DALPAKA_ACC_CPU_B_TBB_T_SEQ_PRESENT ifdef CUDA_BASE MY_CXXFLAGS += -DALPAKA_ACC_GPU_CUDA_PRESENT -DALPAKA_ACC_GPU_CUDA_ONLY_MODE endif @@ -182,7 +182,10 @@ $(foreach test,$(TESTS_ROCM_EXE),$(eval $(call RUNTEST_template,$(test),amdgpu)) -include $(ALL_DEPENDS) # Build targets -$(TARGET): $(EXE_OBJ) $(LIBS) $(PLUGINS) | $(TESTS_EXE) +$(LIB_DIR)/$(TARGET_NAME)/plugins.txt: $(PLUGINS) + nm -A -C -D -P --defined-only $(PLUGINS) | sed -n -e"s#$(LIB_DIR)/$(TARGET_NAME)/\(plugin\w\+\.so\): typeinfo for edm::\(PluginFactory\|ESPluginFactory\)::impl::Maker<\([A-Za-z0-9_:]\+\)> V .* .*#\3 \1#p" | sort > $@ + +$(TARGET): $(EXE_OBJ) $(LIBS) $(PLUGINS) $(LIB_DIR)/$(TARGET_NAME)/plugins.txt | $(TESTS_EXE) # Link all libraries, also the "portable" ones $(CXX) $(EXE_OBJ) $(LDFLAGS) $(MY_LDFLAGS) -o $@ -L$(LIB_DIR)/$(TARGET_NAME) $(foreach lib,$(LIBNAMES),$($(lib)_LDFLAGS) $($(lib)_SERIAL_LDFLAGS) $($(lib)_TBB_LDFLAGS) $($(lib)_CUDA_LDFLAGS) $($(lib)_ROCM_LDFLAGS)) $(foreach dep,$(EXTERNAL_DEPENDS),$($(dep)_LDFLAGS)) diff --git a/src/alpaka/bin/PluginManager.cc b/src/alpaka/bin/PluginManager.cc index 0fd46bbff..d1fa1d0f7 100644 --- a/src/alpaka/bin/PluginManager.cc +++ b/src/alpaka/bin/PluginManager.cc @@ -6,9 +6,6 @@ #include "PluginManager.h" -#ifndef SRC_DIR -#error "SRC_DIR undefined" -#endif #ifndef LIB_DIR #error "LIB_DIR undefined" #endif @@ -18,7 +15,7 @@ namespace edmplugin { PluginManager::PluginManager() { - std::ifstream pluginMap(STR(SRC_DIR) "/plugins.txt"); + std::ifstream pluginMap(STR(LIB_DIR) "/plugins.txt"); std::string plugin, library; while (pluginMap >> plugin >> library) { //std::cout << "plugin " << plugin << " in " << library << std::endl; diff --git a/src/alpaka/plugins.txt b/src/alpaka/plugins.txt deleted file mode 100644 index 35ed33a40..000000000 --- a/src/alpaka/plugins.txt +++ /dev/null @@ -1,50 +0,0 @@ -BeamSpotESProducer pluginBeamSpotProducer.so -alpaka_cuda_async::BeamSpotToAlpaka pluginBeamSpotProducer_cuda.so -alpaka_rocm_async::BeamSpotToAlpaka pluginBeamSpotProducer_rocm.so -alpaka_tbb_async::BeamSpotToAlpaka pluginBeamSpotProducer_tbb.so -alpaka_serial_sync::BeamSpotToAlpaka pluginBeamSpotProducer_serial.so -alpaka_cuda_async::CAHitNtupletAlpaka pluginPixelTriplets_cuda.so -alpaka_rocm_async::CAHitNtupletAlpaka pluginPixelTriplets_rocm.so -alpaka_tbb_async::CAHitNtupletAlpaka pluginPixelTriplets_tbb.so -alpaka_serial_sync::CAHitNtupletAlpaka pluginPixelTriplets_serial.so -alpaka_cuda_async::PixelTrackSoAFromAlpaka pluginPixelTrackFitting_cuda.so -alpaka_rocm_async::PixelTrackSoAFromAlpaka pluginPixelTrackFitting_rocm.so -alpaka_tbb_async::PixelTrackSoAFromAlpaka pluginPixelTrackFitting_tbb.so -alpaka_serial_sync::PixelTrackSoAFromAlpaka pluginPixelTrackFitting_serial.so -alpaka_cuda_async::PixelVertexProducerAlpaka pluginPixelVertexFinding_cuda.so -alpaka_rocm_async::PixelVertexProducerAlpaka pluginPixelVertexFinding_rocm.so -alpaka_tbb_async::PixelVertexProducerAlpaka pluginPixelVertexFinding_tbb.so -alpaka_serial_sync::PixelVertexProducerAlpaka pluginPixelVertexFinding_serial.so -alpaka_cuda_async::PixelVertexSoAFromAlpaka pluginPixelVertexFinding_cuda.so -alpaka_rocm_async::PixelVertexSoAFromAlpaka pluginPixelVertexFinding_rocm.so -alpaka_tbb_async::PixelVertexSoAFromAlpaka pluginPixelVertexFinding_tbb.so -alpaka_serial_sync::PixelVertexSoAFromAlpaka pluginPixelVertexFinding_serial.so -alpaka_cuda_async::SiPixelRawToCluster pluginSiPixelClusterizer_cuda.so -alpaka_rocm_async::SiPixelRawToCluster pluginSiPixelClusterizer_rocm.so -alpaka_tbb_async::SiPixelRawToCluster pluginSiPixelClusterizer_tbb.so -alpaka_serial_sync::SiPixelRawToCluster pluginSiPixelClusterizer_serial.so -SiPixelFedIdsESProducer pluginSiPixelClusterizer.so -alpaka_cuda_async::SiPixelFedCablingMapESProducer pluginSiPixelClusterizer_cuda.so -alpaka_rocm_async::SiPixelFedCablingMapESProducer pluginSiPixelClusterizer_rocm.so -alpaka_tbb_async::SiPixelFedCablingMapESProducer pluginSiPixelClusterizer_tbb.so -alpaka_serial_sync::SiPixelFedCablingMapESProducer pluginSiPixelClusterizer_serial.so -alpaka_cuda_async::SiPixelGainCalibrationForHLTESProducer pluginSiPixelClusterizer_cuda.so -alpaka_rocm_async::SiPixelGainCalibrationForHLTESProducer pluginSiPixelClusterizer_rocm.so -alpaka_tbb_async::SiPixelGainCalibrationForHLTESProducer pluginSiPixelClusterizer_tbb.so -alpaka_serial_sync::SiPixelGainCalibrationForHLTESProducer pluginSiPixelClusterizer_serial.so -alpaka_cuda_async::PixelCPEFastESProducer pluginSiPixelRecHits_cuda.so -alpaka_rocm_async::PixelCPEFastESProducer pluginSiPixelRecHits_rocm.so -alpaka_tbb_async::PixelCPEFastESProducer pluginSiPixelRecHits_tbb.so -alpaka_serial_sync::PixelCPEFastESProducer pluginSiPixelRecHits_serial.so -alpaka_cuda_async::SiPixelRecHitAlpaka pluginSiPixelRecHits_cuda.so -alpaka_rocm_async::SiPixelRecHitAlpaka pluginSiPixelRecHits_rocm.so -alpaka_tbb_async::SiPixelRecHitAlpaka pluginSiPixelRecHits_tbb.so -alpaka_serial_sync::SiPixelRecHitAlpaka pluginSiPixelRecHits_serial.so -alpaka_cuda_async::CountValidator pluginValidation_cuda.so -alpaka_rocm_async::CountValidator pluginValidation_rocm.so -alpaka_tbb_async::CountValidator pluginValidation_tbb.so -alpaka_serial_sync::CountValidator pluginValidation_serial.so -alpaka_cuda_async::HistoValidator pluginValidation_cuda.so -alpaka_rocm_async::HistoValidator pluginValidation_rocm.so -alpaka_tbb_async::HistoValidator pluginValidation_tbb.so -alpaka_serial_sync::HistoValidator pluginValidation_serial.so