diff --git a/.gitattributes b/.gitattributes index b9dad78937c1c1b969c3d48b55de1cdf8033fb38..ea111ad3cfd16c86f37c281962eaf8faaeeeae04 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3427,6 +3427,7 @@ MAC/Deployment/data/StaticMetaData/RSPConnections_test.dat -text MAC/Deployment/data/StaticMetaData/RSPDriver.conf.test -text MAC/Deployment/data/StaticMetaData/RemoteStation.conf.test -text MAC/Deployment/data/StaticMetaData/SourceCatalog.conf -text +MAC/Deployment/data/StaticMetaData/StaticMetaData -text MAC/Deployment/data/StaticMetaData/StationAttenuation.dat -text MAC/Deployment/data/StaticMetaData/StationInfo.dat -text MAC/Deployment/data/StaticMetaData/Storage+MAC.dat -text @@ -4402,6 +4403,7 @@ RTCP/Cobalt/GPUProc/test/tMPIReceive.sh eol=lf RTCP/Cobalt/GPUProc/test/t_cpu_utils.in_parset -text RTCP/Cobalt/GPUProc/test/t_generate_globalfs_locations.in_parset -text RTCP/Cobalt/GPUProc/test/t_generate_globalfs_locations.sh eol=lf +RTCP/Cobalt/GPUProc/test/t_gpu_utils.sh eol=lf RTCP/Cobalt/InputProc/doc/Cobalt-New-InputSection.jpg -text svneol=unset#image/jpeg RTCP/Cobalt/InputProc/src/Delays/printDelays.log_prop -text RTCP/Cobalt/InputProc/src/ping_intl.sh -text diff --git a/MAC/Deployment/data/StaticMetaData/CMakeLists.txt b/MAC/Deployment/data/StaticMetaData/CMakeLists.txt index 964f07f6a3809e56bf7e159df7e6af1d7bc7ecb3..aa733c417f2e49ae031c393e2415ac3d22729706 100644 --- a/MAC/Deployment/data/StaticMetaData/CMakeLists.txt +++ b/MAC/Deployment/data/StaticMetaData/CMakeLists.txt @@ -5,24 +5,24 @@ lofar_package(StaticMetaData 1.0) lofar_add_sbin_scripts(createFiles) # These files end up in ${prefix}/etc -file(GLOB sysconf_data *.conf) -install(FILES +file(GLOB sysconf_data RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.conf) +lofar_add_sysconf_files( ${sysconf_data} StationInfo.dat - ControlInfo.dat - DESTINATION etc) + ControlInfo.dat) # These files end up in ${prefix}/etc/StaticMetaData -file(GLOB staticmeta_data - *.tmpl - *.test - *.dat - AntennaArrays/*.conf* - AntennaPos/*.conf* - CableDelays/*.conf* - iHBADeltas/*.conf* - AntennaFields/*.conf* - Attenuation/*.conf*) -install(FILES - ${staticmeta_data} - DESTINATION etc/StaticMetaData) +# lofar_add_sysconf_files can only install in the same +# relative dir as in the source, hence we've put a symlink +# StaticMetaData -> . in this directory. +file(GLOB staticmeta_data RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" + StaticMetaData/*.tmpl + StaticMetaData/*.test + StaticMetaData/*.dat + StaticMetaData/AntennaArrays/*.conf* + StaticMetaData/AntennaPos/*.conf* + StaticMetaData/CableDelays/*.conf* + StaticMetaData/iHBADeltas/*.conf* + StaticMetaData/AntennaFields/*.conf* + StaticMetaData/Attenuation/*.conf*) +lofar_add_sysconf_files(${staticmeta_data}) diff --git a/MAC/Deployment/data/StaticMetaData/StaticMetaData b/MAC/Deployment/data/StaticMetaData/StaticMetaData new file mode 120000 index 0000000000000000000000000000000000000000..945c9b46d684f08ec84cb316e1dc0061e361f794 --- /dev/null +++ b/MAC/Deployment/data/StaticMetaData/StaticMetaData @@ -0,0 +1 @@ +. \ No newline at end of file diff --git a/RTCP/Cobalt/GPUProc/etc/CMakeLists.txt b/RTCP/Cobalt/GPUProc/etc/CMakeLists.txt index 31b922f38d32fe054b5d8f9066c1090ac31bf47d..aca4d465e8a6fe753855b479f5b4dbc66f669636 100644 --- a/RTCP/Cobalt/GPUProc/etc/CMakeLists.txt +++ b/RTCP/Cobalt/GPUProc/etc/CMakeLists.txt @@ -14,10 +14,14 @@ configure_file( # List of default/ config parsets: # CMake cannot detect changes in this list, but for these files it doesn't need to. -file(GLOB _config_parsets - "parset-additions.d/default/*.parset" - "${CMAKE_CURRENT_BINARY_DIR}/parset-additions.d/default/*.parset") # configured .parset.in -install(FILES ${_config_parsets} DESTINATION etc/parset-additions.d/default) +file(GLOB _config_parsets_src RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "parset-additions.d/default/*.parset") +lofar_add_sysconf_files(${_config_parsets_src}) + +# cannot yet use lofar_add_sysconf_files since that wants to make a symlink to the source dir, +# but we've build them there directly. +file(GLOB _config_parsets_bin "${CMAKE_CURRENT_BINARY_DIR}/parset-additions.d/default/*.parset") # configured .parset.in +install(FILES ${_config_parsets_bin} DESTINATION etc/parset-additions.d/default) +#lofar_add_sysconf_files(${_config_parsets_bin}) # Install script to generate StationStreams.parset for the live test system. lofar_add_sbin_scripts(parset-additions.d/default/generateStationStreams.sh) diff --git a/RTCP/Cobalt/GPUProc/src/cuda/gpu_utils.cc b/RTCP/Cobalt/GPUProc/src/cuda/gpu_utils.cc index 73221e90a25774f5f730fb506ad3348cf2220875..3479559375a044a50f843f410d4e3639e0be158c 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/gpu_utils.cc +++ b/RTCP/Cobalt/GPUProc/src/cuda/gpu_utils.cc @@ -199,14 +199,12 @@ namespace LOFAR string prefixPath() { - if (lofarRoot().empty()) return "."; - else return lofarRoot() + "/share/gpu/kernels"; + return lofarRoot() + "/share/gpu/kernels"; } string includePath() { - if (lofarRoot().empty()) return "include"; - else return lofarRoot() + "/include"; + return lofarRoot() + "/include"; } ostream& operator<<(ostream& os, const CompileDefinitions& defs) diff --git a/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh b/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh index 26695676d2d88938b293b998916d5e61fb38c544..54a9f36ab2fafb20880b5340b86f04ee14df736a 100755 --- a/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh +++ b/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh @@ -364,7 +364,7 @@ echo "[outputProc] pid file = $PID_LIST_FILE" touch $PID_LIST_FILE # Construct full command line for outputProc -OUTPUTPROC_CMDLINE="source $OUTPUTPROC_ROOT/lofarinit.sh; export QUEUE_PREFIX=$QUEUE_PREFIX LOFARENV=$LOFARENV; numactl --cpunodebind=0 --preferred=0 outputProc $OBSERVATIONID" +OUTPUTPROC_CMDLINE="source $OUTPUTPROC_ROOT/lofarinit.sh; export QUEUE_PREFIX=$QUEUE_PREFIX LOFARENV=$LOFARENV; numactl --cpunodebind=0 --preferred=0 $OUTPUTPROC_ROOT/bin/outputProc $OBSERVATIONID" # Wrap command line with Docker if required if $DOCKER; then diff --git a/RTCP/Cobalt/GPUProc/test/cuda/CMakeLists.txt b/RTCP/Cobalt/GPUProc/test/cuda/CMakeLists.txt index 4120a5ea8a668ce5b97e36171cf40af0bf0d215a..855904018fadd1dfc8d023a711c9ec20b1f1da26 100644 --- a/RTCP/Cobalt/GPUProc/test/cuda/CMakeLists.txt +++ b/RTCP/Cobalt/GPUProc/test/cuda/CMakeLists.txt @@ -37,6 +37,17 @@ lofar_add_test(tKernelOccupancy tKernelOccupancy.cc) lofar_add_test(tStreamReadBuffer tStreamReadBuffer.cc) lofar_add_test(tMultiDimArrayHostBuffer tMultiDimArrayHostBuffer.cc) +# These kernels need to be in the build dir for createPTX to find them in the tests +set(_test_kernels + tKernel.in_.cu + tKernelOccupancy.in_.cu +) +foreach(_name ${_test_kernels}) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/share/gpu/kernels) + execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink + ${CMAKE_CURRENT_SOURCE_DIR}/${_name} ${CMAKE_BINARY_DIR}/share/gpu/kernels/${_name}) +endforeach() + # GPU kernel unit tests lofar_add_test(tFIR_Filter tFIR_Filter.cc) lofar_add_test(tFFT tFFT.cc) diff --git a/RTCP/Cobalt/GPUProc/test/t_gpu_utils.cc b/RTCP/Cobalt/GPUProc/test/t_gpu_utils.cc index 163156176a8cd63a23f3f6df0026545bd771341b..420b54dc46369ec0126e7f4162934eceb60bcb98 100644 --- a/RTCP/Cobalt/GPUProc/test/t_gpu_utils.cc +++ b/RTCP/Cobalt/GPUProc/test/t_gpu_utils.cc @@ -24,7 +24,8 @@ #ifdef USE_CUDA #include <cstdio> // for remove() -#include <cstdlib> // for unsetenv() +#include <cstdlib> // for getenv() +#include <cassert> #include <vector> #include <fstream> #include <stdexcept> @@ -47,8 +48,12 @@ const char* srcFile("t_gpu_utils.cl"); struct CreateFixture { CreateFixture() { - ofstream ofs(srcFile); - if (!ofs) throw runtime_error("Failed to create file: " + string(srcFile)); + assert(getenv("LOFARROOT")); + + string lofarroot = getenv("LOFARROOT"); + string fullFilename = lofarroot + "/share/gpu/kernels/" + srcFile; + ofstream ofs(fullFilename.c_str()); + if (!ofs) throw runtime_error("Failed to create file: " + string(fullFilename)); ofs << "#if defined FOO && FOO != 42\n" << "#error FOO != 42\n" << "#endif\n" @@ -163,8 +168,6 @@ int main() { INIT_LOGGER("t_gpu_utils"); - unsetenv("LOFARROOT"); - try { gpu::Platform pf; return UnitTest::RunAllTests() > 0; diff --git a/RTCP/Cobalt/GPUProc/test/t_gpu_utils.sh b/RTCP/Cobalt/GPUProc/test/t_gpu_utils.sh new file mode 100755 index 0000000000000000000000000000000000000000..b66a195335610b65a70e70d129536878318f4565 --- /dev/null +++ b/RTCP/Cobalt/GPUProc/test/t_gpu_utils.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +./runctest.sh t_gpu_utils diff --git a/SubSystems/Online_Cobalt/test/testFuncs.sh.in b/SubSystems/Online_Cobalt/test/testFuncs.sh.in index 7672a655827b8d11116dfa37367768ff8e9d1f13..1c03e9c0ad0c6b1e485a720effa8c550ff7abbe8 100755 --- a/SubSystems/Online_Cobalt/test/testFuncs.sh.in +++ b/SubSystems/Online_Cobalt/test/testFuncs.sh.in @@ -10,9 +10,6 @@ error() exit 1 } -# Set LOFARROOT and other LOFAR env vars into install directory (var is always set). -. "@CMAKE_INSTALL_PREFIX@/lofarinit.sh" || error "Could not load our lofarinit.sh -- did you run 'make install'?" - # MessageFuncs.sh provides QPID functionality, and is present in the build directory . "MessageFuncs.sh" || error "Could not load MessageFuncs.sh"