Build Packages / Create release (push) Successful in 24s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m29s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m43s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 8m27s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 9m53s
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 9m58s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 11m22s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 13m39s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 18m37s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 16m32s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 24m11s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 25m30s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 19m3s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 20m23s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 19m41s
Build Packages / Generate python client (push) Successful in 50s
Build Packages / Build documentation (push) Successful in 1m16s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 21m0s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 18m38s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 14m33s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 17m55s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 20m50s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 18m38s
Build Packages / Unit tests (push) Successful in 1h46m14s
* jfjoch_broker: Optional per-dataset authentication - statistics, images and plots can require a bearer token, which jfjoch_viewer supports. * jfjoch_viewer: Dark mode and a theme-matched colour scheme, a magnifier panel, and simpler contrast and background controls. * Rugnux: Multiple performance improvements on GPU and CPU (CPU-only processing up to 40% faster, faster image decoding on ARM), with unchanged results. * Rugnux: `--model` rigid-body refinement runs on the GPU, and the model-validation check is faster and more reliable. * Rugnux: Improved scaling and merging - error model, outlier rejection, absorption correction and French-Wilson amplitudes now agree more closely with XDS and ctruncate. * Rugnux: Improved integration - radial background on powder and ice rings, crowded rotation data keep their reflections, and CPU-only builds integrate large unit cells as GPU builds do. * Rugnux: More robust detector geometry - measured beam centre, X-ray bandwidth and goniometer rate, and geometry refinement accepted only on significant evidence. * Rugnux: Merged files are written in the standard setting, or in the setting of a reference MTZ, structure-factor mmCIF or model, with its free-R flags. * Rugnux: Richer report - ice and powder rings, further lattices, superstructure candidates and mosaicity, with warnings worded as prompts to check. * Rugnux: Clear error messages when a data set needs more GPU or host memory than is available. Reviewed-on: #83 Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
185 lines
6.7 KiB
CMake
185 lines
6.7 KiB
CMake
# Quick cross-platform checks: the results that depend on the architecture, the compiler or the
|
|
# standard library (bitshuffle/LZ4 SIMD paths, HDF5 read-back, CBF parsing, CPU spot finding, FFTW
|
|
# indexing, gemmi MTZ/CIF). Built in every configuration, the portable (viewer/rugnux-only) ones
|
|
# included, and linked only against what those build - so it runs on the macOS and Windows jobs.
|
|
# Only the cases tagged [portable] are meant to run there (a few seconds in all); the rest of these
|
|
# files is compiled in because the tagged cases live next to them.
|
|
# EXCLUDE_FROM_ALL: a product build does not pay for it, CI builds the target by name.
|
|
ADD_EXECUTABLE(jfjoch_portable_test EXCLUDE_FROM_ALL
|
|
PortableTest.cpp
|
|
TestData.h
|
|
ZSTDCompressorTest.cpp
|
|
JFJochReaderTest.cpp
|
|
SweepLayoutTest.cpp
|
|
CBORTest.cpp
|
|
ImageSpotFinderCPUTest.cpp
|
|
AdaptiveSpotFinderCPUTest.cpp
|
|
AzimuthalIntegrationTest.cpp
|
|
CalcBraggPredictionTest.cpp
|
|
BraggStencilTest.cpp
|
|
BraggIntegrationEngineCompressedImageTest.cpp
|
|
BraggIntegrationEngineCPUTest.cpp
|
|
WriteReflectionsTest.cpp
|
|
LoadReferenceMtzFreeFlagsTest.cpp
|
|
LoadReferenceSfCifTest.cpp
|
|
RotationIndexerTest.cpp
|
|
)
|
|
target_link_libraries(jfjoch_portable_test Catch2WithMain JFJochRugnux JFJochReader JFJochImageAnalysis
|
|
JFJochWriter JFJochCommon)
|
|
target_include_directories(jfjoch_portable_test PRIVATE .)
|
|
# Same device-link step as rugnux (see rugnux/CMakeLists.txt): a portable CUDA build links cuFFT statically.
|
|
IF (JFJOCH_PORTABLE_ONLY AND JFJOCH_CUDA_AVAILABLE AND TARGET CUDA::cufft_static)
|
|
SET_TARGET_PROPERTIES(jfjoch_portable_test PROPERTIES CUDA_RESOLVE_DEVICE_SYMBOLS ON)
|
|
ENDIF()
|
|
|
|
IF (JFJOCH_PORTABLE_ONLY)
|
|
RETURN()
|
|
ENDIF()
|
|
|
|
ADD_EXECUTABLE(jfjoch_test
|
|
PortableTest.cpp
|
|
DiffractionExperimentTest.cpp
|
|
RawToConvertedGeometryTest.cpp
|
|
../common/RawToConvertedGeometry.h
|
|
../common/DiffractionExperiment.h
|
|
CheckImageOutput.h
|
|
FPGAIntegrationTest.cpp
|
|
StrongPixelSetTest.cpp
|
|
AdaptiveThresholdTest.cpp
|
|
AdaptiveSpotFinderCPUTest.cpp
|
|
ZSTDCompressorTest.cpp
|
|
FrameTransformationTest.cpp
|
|
HDF5WritingTest.cpp PedestalCalcTest.cpp
|
|
ZMQImagePusherTest.cpp StreamWriterTest.cpp
|
|
CoordTest.cpp JFJochStateMachineTest.cpp
|
|
JFJochReceiverIntegrationTest.cpp
|
|
AcquisitionCountersTest.cpp
|
|
IndexingUnitTest.cpp
|
|
ThreadSafeFIFOSetTest.cpp
|
|
FPGANetworkTest.cpp
|
|
JFPedestalTest.cpp
|
|
JFCalibrationTest.cpp
|
|
AzimuthalIntegrationTest.cpp
|
|
StatusVectorTest.cpp
|
|
CBORTest.cpp
|
|
DetectorGeometryTest.cpp DetectorSetupTest.cpp DiffractionGeometryTest.cpp
|
|
FPGASpotFindingUnitTest.cpp
|
|
PreviewCounterTest.cpp
|
|
FPGAFrameGeneratorTest.cpp
|
|
FPGAHostWriterTest.cpp
|
|
DiffractionSpotTest.cpp
|
|
TIFFTest.cpp
|
|
JFJochReceiverProcessingTest.cpp
|
|
JPEGTest.cpp
|
|
HistogramTest.cpp
|
|
ROIMapTest.cpp
|
|
ROIIntegrationCPUTest.cpp
|
|
ROIIntegrationGPUTest.cpp
|
|
BraggIntegrationEngineGPUTest.cpp
|
|
BraggIntegrationEngineCompressedImageTest.cpp
|
|
BraggIntegrationEngineCPUTest.cpp
|
|
BraggStencilTest.cpp
|
|
LossyFilterTest.cpp
|
|
ImageBufferTest.cpp
|
|
PixelMaskTest.cpp
|
|
RegressionTest.cpp
|
|
FPGAHLSModulesTest.cpp
|
|
ZMQPreviewSocketTest.cpp
|
|
DetectorSettingsTest.cpp
|
|
AutoIncrVectorTest.cpp
|
|
ModuleSummationTest.cpp
|
|
ZMQMetadataSocketTest.cpp
|
|
JFJochReaderTest.cpp
|
|
SweepLayoutTest.cpp
|
|
ShadowFinderTest.cpp
|
|
HotPixelFinderTest.cpp
|
|
BandwidthEstimateTest.cpp
|
|
ParallelForTest.cpp
|
|
RugnuxTest.cpp
|
|
ResultReportTest.cpp
|
|
DiagnosticOutputTest.cpp
|
|
PostRefineTest.cpp
|
|
RotationScaleWalkTest.cpp
|
|
RugnuxLargeTest.cpp
|
|
TestData.h
|
|
MovingAverageTest.cpp
|
|
ImageMetadataTest.cpp
|
|
JFJochReceiverLiteTest.cpp
|
|
GridScanSettingsTest.cpp
|
|
JFJochReceiverPlotsTest.cpp
|
|
GoniometerAxisTest.cpp
|
|
DetGeomCalibTest.cpp
|
|
RingsFromProfileTest.cpp
|
|
CalibrationTest.cpp
|
|
XtalOptimizerTest.cpp
|
|
CrystalLatticeTest.cpp
|
|
FPGAPTPTest.cpp
|
|
ResolutionShellsTest.cpp
|
|
ImageSpotFinderCPUTest.cpp
|
|
ImageSpotFinderGPUTest.cpp
|
|
BSLZ4DecoderGPUTest.cpp
|
|
BSLZ4DecoderGPUFuzzTest.cpp
|
|
ImagePreprocessorGPUFusedTest.cpp
|
|
AdaptiveSpotFinderGPUTest.cpp
|
|
SpotExtractorGPUParityTest.cpp
|
|
CUDAMemHelpersTest.cpp
|
|
CudaHandledErrorTest.cpp
|
|
CalcBraggPredictionTest.cpp
|
|
SpotUtilsTest.cpp
|
|
LatticeSearchTest.cpp
|
|
LePageLatticeTest.cpp
|
|
TimeTest.cpp
|
|
RotationIndexerTest.cpp
|
|
SpindleBlindFractionTest.cpp
|
|
SpindleCuspLossTest.cpp
|
|
TopPixelsTest.cpp
|
|
HKLKeyTest.cpp
|
|
TCPImagePusherTest.cpp
|
|
PreflightTest.cpp
|
|
ModelValidationTest.cpp
|
|
ModelMaskGPUTest.cpp
|
|
SearchSpaceGroupTest.cpp
|
|
SearchSpaceGroupTwinTest.cpp
|
|
SyntheticMergedReflections.h
|
|
XDSPluginTest.cpp
|
|
MergeScaleTest.cpp
|
|
AnisotropyAnalysisTest.cpp
|
|
ModelScalingTest.cpp
|
|
ModelScaleGPUTest.cpp
|
|
TwinningAnalysisTest.cpp
|
|
TranslationalNCSTest.cpp
|
|
RfreeFlagsTest.cpp
|
|
FrenchWilsonTest.cpp
|
|
SphericalHarmonicSurfaceTest.cpp
|
|
WilsonOutliersTest.cpp
|
|
ReindexAmbiguityTest.cpp
|
|
CrystalSettingTest.cpp
|
|
LoadReferenceMtzFreeFlagsTest.cpp
|
|
LoadReferenceSfCifTest.cpp
|
|
WriteReflectionsTest.cpp
|
|
UnitCellTest.cpp
|
|
CCTest.cpp
|
|
MultiLatticeSearchTest.cpp
|
|
LatticeReductionTest.cpp
|
|
BeamCenterFromBackgroundTest.cpp
|
|
BeamCenterFFTTest.cpp
|
|
BeamCenterFFTGPUTest.cpp
|
|
BeamCenterFromSpotsTest.cpp
|
|
BearerTokensTest.cpp
|
|
BrokerHttpAuthTest.cpp
|
|
../broker/JFJochBrokerHttp.cpp
|
|
)
|
|
|
|
target_link_libraries(jfjoch_test Catch2WithMain JFJochBroker JFJochReceiver JFJochReader JFJochStreamWriter
|
|
JFJochRugnux JFJochImageAnalysis JFJochCommon JFJochHLSSimulation JFJochPreview
|
|
jfjoch_xds_plugin ZLIB::ZLIB httplib::httplib)
|
|
target_include_directories(jfjoch_test PRIVATE .)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
add_library(enospc_shim MODULE enospc_shim.c)
|
|
target_link_libraries(enospc_shim PRIVATE Threads::Threads dl)
|
|
set_target_properties(enospc_shim PROPERTIES PREFIX "" POSITION_INDEPENDENT_CODE ON) # remove "lib"
|
|
|
|
ADD_EXECUTABLE(jfjoch_hdf5_enospc_test jfjoch_hdf5_enospc_test.cpp)
|
|
target_link_libraries(jfjoch_hdf5_enospc_test Catch2WithMain JFJochWriter) |