lorenzo-rovigatti / oxDNA

A new version of the code to simulate the oxDNA/oxRNA models, now equipped with Python bindings
https://dna.physics.ox.ac.uk/
GNU General Public License v3.0
42 stars 27 forks source link

[BUG] Build failure with cuda 12.5.0 #105

Closed micwoj92 closed 1 month ago

micwoj92 commented 4 months ago

Describe the bug After upgrade to cuda 12.5.0, oxDNA fails to build

To Reproduce Steps to reproduce the behavior:

  1. Get source, tested as of latest commit 16e5d7c8c6decc2ef6a47e0990dcaaf1c3009335
    -- The C compiler identification is GNU 13.3.0
    -- The CXX compiler identification is GNU 13.3.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/gcc-13 - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/g++-13 - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Performing Test COMPILER_SUPPORTS_MARCH_NATIVE
    -- Performing Test COMPILER_SUPPORTS_MARCH_NATIVE - Success
    -- Found Git: /usr/bin/git (found version "2.45.1")
    -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    -- Found Threads: TRUE
    -- Found CUDA: /opt/cuda (found version "12.5")
    -- Generating code for the following CUDA architectures: sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 compute_70 compute_75
    -- -gencode arch=compute_50,code=sm_50;-gencode arch=compute_52,code=sm_52;-gencode arch=compute_60,code=sm_60;-gencode arch=compute_61,code=sm_61;-gencode arch=compute_70,code=sm_70;-gencode arch=compute_75,code=sm_75;-gencode;arch=compute_70,code=compute_70;-gencode;arch=compute_75,code=compute_75
    -- Adding the targets found in the /build/oxdna-cuda-git/src/oxDNA/contrib/randisi folder
    -- Adding the targets found in the /build/oxdna-cuda-git/src/oxDNA/contrib/romano folder
    -- Adding the targets found in the /build/oxdna-cuda-git/src/oxDNA/contrib/rovigatti folder
    -- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
    -- Checking for module 'gsl'
    --   Found gsl, version 2.7.1
    -- Adding the targets found in the /build/oxdna-cuda-git/src/oxDNA/contrib/tostiguerra folder
    -- pybind11 v2.11.0 dev1
    -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.12.3", minimum required is "3.9")
    -- Found PythonLibs: /usr/lib/libpython3.12.so
    -- Performing Test HAS_FLTO
    -- Performing Test HAS_FLTO - Success
    -- The detected Python's include dirs are: /usr/include/python3.12
    -- Enabling Python bindings
    -- Configuring done (1.1s)
    -- Generating done (0.2s)
    -- Build files have been written to: /build/oxdna-cuda-git/src/build
    [  1%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Backends/oxdna_common_generated_CUDABaseBackend.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDAInteractionFactory.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDALJInteraction.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Backends/oxdna_common_generated_MD_CUDAMixedBackend.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDADNAInteraction.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDATEPInteraction.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Lists/oxdna_common_generated_CUDABinVerletList.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDABaseInteraction.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDAPatchyInteraction.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Lists/oxdna_common_generated_CUDASimpleVerletList.cu.o
    [  5%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Lists/oxdna_common_generated_CUDANoList.cu.o
    [  9%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Backends/oxdna_common_generated_MD_CUDABackend.cu.o
    [  9%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Interactions/oxdna_common_generated_CUDARNAInteraction.cu.o
    [  7%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/oxdna_common_generated_CUDA_sort.cu.o
    [  9%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Lists/oxdna_common_generated_CUDAListFactory.cu.o
    [  9%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Backends/oxdna_common_generated_FFS_MD_CUDAMixedBackend.cu.o
    [ 11%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDABaseThermostat.cu.o
    [ 11%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDABrownianThermostat.cu.o
    [ 11%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDABussiThermostat.cu.o
    [ 11%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDALangevinThermostat.cu.o
    [ 11%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDANoThermostat.cu.o
    [ 13%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDASRDThermostat.cu.o
    [ 13%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/Thermostats/oxdna_common_generated_CUDAThermostatFactory.cu.o
    [ 13%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/cuda_utils/oxdna_common_generated_cuda_device_utils.cu.o
    [ 13%] Building NVCC (Device) object src/CMakeFiles/oxdna_common.dir/CUDA/oxdna_common_generated_CUDAUtils.cu.o
    [ 13%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/JordanParticle.cpp.o
    [ 13%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/BaseParticle.cpp.o
    [ 13%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/RNANucleotide.cpp.o
    [ 13%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/TEPParticle.cpp.o
    [ 13%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/PatchyParticle.cpp.o
    [ 15%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/SpheroCylinder.cpp.o
    [ 15%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/DNANucleotide.cpp.o
    [ 15%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/PatchyParticleDan.cpp.o
    [ 17%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/CustomParticle.cpp.o
    [ 17%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/OrderParameters.cpp.o
    [ 17%] Building CXX object src/CMakeFiles/oxdna_common.dir/Managers/SimManager.cpp.o
    [ 17%] Building CXX object src/CMakeFiles/oxdna_common.dir/Particles/Molecule.cpp.o
    [ 17%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/LR_vector.cpp.o
    [ 19%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/Weights.cpp.o
    [ 19%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/LR_matrix.cpp.o
    [ 19%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/Histogram.cpp.o
    [ 21%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/Utils.cpp.o
    [ 21%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/oxDNAException.cpp.o
    [ 21%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/Logger.cpp.o
    [ 21%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/parse_input/parse_input.cpp.o
    [ 21%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/SignalManager.cpp.o
    [ 23%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/time_scales/time_scales.cpp.o
    [ 23%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/ConfigInfo.cpp.o
    [ 23%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/FlattenedConfigInfo.cpp.o
    [ 25%] Building CXX object src/CMakeFiles/oxdna_common.dir/Utilities/TopologyParser.cpp.o
    [ 25%] Building CXX object src/CMakeFiles/oxdna_common.dir/PluginManagement/PluginManager.cpp.o
    [ 25%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/ForceFactory.cpp.o
    [ 25%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/BaseForce.cpp.o
    [ 26%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/COMForce.cpp.o
    [ 26%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/ConstantRateForce.cpp.o
    [ 26%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/SawtoothForce.cpp.o
    [ 26%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/ConstantRateTorque.cpp.o
    [ 28%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/ConstantTrap.cpp.o
    [ 28%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/MovingTrap.cpp.o
    [ 28%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/LowdimMovingTrap.cpp.o
    [ 28%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/MutualTrap.cpp.o
    [ 30%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/RepulsiveEllipsoid.cpp.o
    [ 30%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/RepulsionPlane.cpp.o
    [ 30%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/RepulsionPlaneMoving.cpp.o
    [ 30%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/RepulsiveSphere.cpp.o
    [ 32%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/RepulsiveSphereSmooth.cpp.o
    [ 32%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/LJWall.cpp.o
    [ 32%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/HardWall.cpp.o
    [ 32%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/AlignmentField.cpp.o
    [ 34%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/GenericCentralForce.cpp.o
    [ 34%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/LJCone.cpp.o
    [ 34%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/YukawaSphere.cpp.o
    [ 34%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/Metadynamics/LTCOMTrap.cpp.o
    [ 36%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/Metadynamics/LTCOMAngleTrap.cpp.o
    [ 36%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/Metadynamics/LT2DCOMTrap.cpp.o
    [ 36%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/Metadynamics/LTAtanCOMTrap.cpp.o
    [ 36%] Building CXX object src/CMakeFiles/oxdna_common.dir/Forces/Metadynamics/meta_utils.cpp.o
    [ 38%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/BaseObservable.cpp.o
    [ 38%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ObservableFactory.cpp.o
    [ 38%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ObservableOutput.cpp.o
    [ 38%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Step.cpp.o
    [ 40%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/PotentialEnergy.cpp.o
    [ 40%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/KineticEnergy.cpp.o
    [ 40%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/TotalEnergy.cpp.o
    [ 40%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/BackendInfo.cpp.o
    [ 40%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/HBEnergy.cpp.o
    [ 42%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/OrderParameterValues.cpp.o
    [ 42%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/HBList.cpp.o
    [ 42%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/StrandwiseBonds.cpp.o
    [ 42%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/PairEnergy.cpp.o
    [ 44%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/PairForce.cpp.o
    [ 44%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Pressure.cpp.o
    [ 44%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ForceEnergy.cpp.o
    [ 44%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/StressAutocorrelation.cpp.o
    [ 46%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Density.cpp.o
    [ 46%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Rdf.cpp.o
    [ 46%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Distance.cpp.o
    [ 46%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/DensityProfile.cpp.o
    [ 48%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ParticlePosition.cpp.o
    [ 48%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/CoaxVariables.cpp.o
    [ 48%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Pitch.cpp.o
    [ 48%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/SaltExtrapolation.cpp.o
    [ 50%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ExternalTorque.cpp.o
    [ 50%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/MeanVectorCosine.cpp.o
    [ 50%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/VectorAngle.cpp.o
    [ 50%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Checkpoint.cpp.o
    [ 51%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Contacts.cpp.o
    [ 51%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Writhe.cpp.o
    [ 51%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/UnstackedList.cpp.o
    [ 51%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/PlectonemePosition.cpp.o
    [ 53%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/StretchedBonds.cpp.o
    [ 53%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/StructureFactor.cpp.o
    [ 53%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/FormFactor.cpp.o
    [ 53%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/TEPPlectonemePosition.cpp.o
    [ 55%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/AverageEnergy.cpp.o
    [ 55%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ContactMap.cpp.o
    [ 55%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/AllVectors.cpp.o
    [ 55%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/ExternalForce.cpp.o
    [ 57%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/Configuration.cpp.o
    [ 57%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/BinaryConfiguration.cpp.o
    [ 57%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/TclOutput.cpp.o
    [ 57%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/PdbOutput.cpp.o
    [ 59%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/ChimeraOutput.cpp.o
    [ 59%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/TEPtclOutput.cpp.o
    [ 59%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/TEPxyzOutput.cpp.o
    [ 59%] Building CXX object src/CMakeFiles/oxdna_common.dir/Observables/Configurations/JordanOutput.cpp.o
    [ 61%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/BaseList.cpp.o
    [ 61%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/NoList.cpp.o
    [ 61%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/Cells.cpp.o
    [ 61%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/RodCells.cpp.o
    [ 63%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/VerletList.cpp.o
    [ 63%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/BinVerletList.cpp.o
    [ 63%] Building CXX object src/CMakeFiles/oxdna_common.dir/Lists/ListFactory.cpp.o
    [ 63%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/BackendFactory.cpp.o
    [ 65%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/SimBackend.cpp.o
    [ 65%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/AnalysisBackend.cpp.o
    [ 65%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/MDBackend.cpp.o
    [ 65%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/MCBackend.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/MD_CPUBackend.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/MC_CPUBackend.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/MC_CPUBackend2.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/VMMC_CPUBackend.cpp.o
    [ 67%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/MinBackend.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/FIREBackend.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/SRDThermostat.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/FFS_MD_CPUBackend.cpp.o
    [ 69%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/DPDThermostat.cpp.o
    [ 71%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/ThermostatFactory.cpp.o
    [ 71%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/BaseThermostat.cpp.o
    [ 71%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/NoThermostat.cpp.o
    [ 71%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/BrownianThermostat.cpp.o
    [ 73%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/RefreshThermostat.cpp.o
    [ 73%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/BussiThermostat.cpp.o
    [ 73%] Building CXX object src/CMakeFiles/oxdna_common.dir/Backends/Thermostats/LangevinThermostat.cpp.o
    In file included from /opt/cuda/include/cub/util_device.cuh:52,
                 from /opt/cuda/include/thrust/system/cuda/detail/util.h:48,
                 from /opt/cuda/include/thrust/system/cuda/detail/internal/copy_cross_system.h:49,
                 from /opt/cuda/include/thrust/system/cuda/detail/copy.h:111,
                 from /opt/cuda/include/thrust/system/detail/adl/copy.h:50,
                 from /opt/cuda/include/thrust/detail/copy.inl:31,
                 from /opt/cuda/include/thrust/detail/copy.h:98,
                 from /opt/cuda/include/thrust/detail/allocator/copy_construct_range.inl:31,
                 from /opt/cuda/include/thrust/detail/allocator/copy_construct_range.h:53,
                 from /opt/cuda/include/thrust/detail/contiguous_storage.inl:31,
                 from /opt/cuda/include/thrust/detail/contiguous_storage.h:243,
                 from /opt/cuda/include/thrust/detail/vector_base.h:39,
                 from /opt/cuda/include/thrust/host_vector.h:35,
                 from /build/oxdna-cuda-git/src/oxDNA/src/Backends/../CUDA/Backends/../Lists/CUDASimpleVerletList.h:14,
                 from /build/oxdna-cuda-git/src/oxDNA/src/Backends/../CUDA/Backends/MD_CUDABackend.h:22,
                 from /build/oxdna-cuda-git/src/oxDNA/src/Backends/BackendFactory.cpp:19:
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘void cub::CUB_200400___CUDA_ARCH_LIST___NS::CTA_SYNC()’:
    /opt/cuda/include/cub/util_ptx.cuh:271:5: error: ‘__syncthreads’ was not declared in this scope
    271 |     __syncthreads();
      |     ^~~~~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘int cub::CUB_200400___CUDA_ARCH_LIST___NS::CTA_SYNC_AND(int)’:
    /opt/cuda/include/cub/util_ptx.cuh:280:12: error: ‘__syncthreads_and’ was not declared in this scope
    280 |     return __syncthreads_and(p);
      |            ^~~~~~~~~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘int cub::CUB_200400___CUDA_ARCH_LIST___NS::CTA_SYNC_OR(int)’:
    /opt/cuda/include/cub/util_ptx.cuh:289:12: error: ‘__syncthreads_or’ was not declared in this scope
    289 |     return __syncthreads_or(p);
      |            ^~~~~~~~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘void cub::CUB_200400___CUDA_ARCH_LIST___NS::WARP_SYNC(unsigned int)’:
    /opt/cuda/include/cub/util_ptx.cuh:298:5: error: ‘__syncwarp’ was not declared in this scope
    298 |     __syncwarp(member_mask);
      |     ^~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘int cub::CUB_200400___CUDA_ARCH_LIST___NS::WARP_ANY(int, unsigned int)’:
    /opt/cuda/include/cub/util_ptx.cuh:307:12: error: ‘__any_sync’ was not declared in this scope
    307 |     return __any_sync(member_mask, predicate);
      |            ^~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘int cub::CUB_200400___CUDA_ARCH_LIST___NS::WARP_ALL(int, unsigned int)’:
    /opt/cuda/include/cub/util_ptx.cuh:316:12: error: ‘__all_sync’ was not declared in this scope
    316 |     return __all_sync(member_mask, predicate);
      |            ^~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘int cub::CUB_200400___CUDA_ARCH_LIST___NS::WARP_BALLOT(int, unsigned int)’:
    /opt/cuda/include/cub/util_ptx.cuh:325:12: error: ‘__ballot_sync’ was not declared in this scope
    325 |     return __ballot_sync(member_mask, predicate);
      |            ^~~~~~~~~~~~~
    /opt/cuda/include/cub/util_ptx.cuh: In function ‘unsigned int cub::CUB_200400___CUDA_ARCH_LIST___NS::SHFL_IDX_SYNC(unsigned int, int, unsigned int)’:
    /opt/cuda/include/cub/util_ptx.cuh:368:12: error: ‘__shfl_sync’ was not declared in this scope
    368 |     return __shfl_sync(member_mask, word, src_lane);
      |            ^~~~~~~~~~~
    [ 73%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/InteractionFactory.cpp.o
    In file included from /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/barrier_cluster.h:30,
                 from /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx.h:74,
                 from /opt/cuda/include/cuda/ptx:19,
                 from /opt/cuda/include/cuda/discard_memory:25,
                 from /opt/cuda/include/cub/util_device.cuh:57:
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h: In function ‘uint32_t cuda::ptx::__4::__as_ptr_smem(const void*)’:
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h:40:44: error: ‘__cvta_generic_to_shared’ was not declared in this scope
    40 |   return static_cast<_CUDA_VSTD::uint32_t>(__cvta_generic_to_shared(__ptr));
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h: In function ‘uint64_t cuda::ptx::__4::__as_ptr_gmem(const void*)’:
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h:60:44: error: ‘__cvta_generic_to_global’ was not declared in this scope
    60 |   return static_cast<_CUDA_VSTD::uint64_t>(__cvta_generic_to_global(__ptr));
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h: In function ‘_Tp* cuda::ptx::__4::__from_ptr_smem(size_t)’:
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h:73:33: error: there are no arguments to ‘__cvta_shared_to_generic’ that depend on a template parameter, so a declaration of ‘__cvta_shared_to_generic’ must be available [-fpermissive]
    73 |   return reinterpret_cast<_Tp*>(__cvta_shared_to_generic(__ptr));
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h:73:33: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h: In function ‘_Tp* cuda::ptx::__4::__from_ptr_gmem(size_t)’:
    /opt/cuda/include/cuda/std/detail/libcxx/include/__cuda/ptx/instructions/../ptx_helper_functions.h:94:33: error: there are no arguments to ‘__cvta_global_to_generic’ that depend on a template parameter, so a declaration of ‘__cvta_global_to_generic’ must be available [-fpermissive]
    94 |   return reinterpret_cast<_Tp*>(__cvta_global_to_generic(__ptr));
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
    [ 75%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/InteractionUtils.cpp.o
    /opt/cuda/include/cub/util_device.cuh: In static member function ‘static typename AgentT::TempStorage& cub::CUB_200400___CUDA_ARCH_LIST___NS::detail::vsmem_helper_impl<AgentT>::get_temp_storage(cub::CUB_200400___CUDA_ARCH_LIST___NS::NullType&, cub::CUB_200400___CUDA_ARCH_LIST___NS::detail::vsmem_t&)’:
    /opt/cuda/include/cub/util_device.cuh:160:63: error: ‘blockIdx’ was not declared in this scope
    160 |       static_cast<char*>(vsmem.gmem_ptr) + (vsmem_per_block * blockIdx.x));
      |                                                               ^~~~~~~~
    [ 75%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/Mesh.cpp.o
    [ 75%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/BaseInteraction.cpp.o
    [ 75%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/LJInteraction.cpp.o
    [ 76%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/DNAInteraction.cpp.o
    [ 76%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/DNA2Interaction.cpp.o
    make[2]: *** [src/CMakeFiles/oxdna_common.dir/build.make:1763: src/CMakeFiles/oxdna_common.dir/Backends/BackendFactory.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    [ 76%] Building CXX object src/CMakeFiles/oxdna_common.dir/Interactions/DNAInteraction_nomesh.cpp.o
    make[1]: *** [CMakeFiles/Makefile2:399: src/CMakeFiles/oxdna_common.dir/all] Error 2
    make: *** [Makefile:136: all] Error 2

Expected behavior I expect to be able to compile software. Desktop (please complete the following information):

Additional context Add any other context about the problem here.

It builds fine with cuda 12.4.1.

This might be related to Arch Linux packaging issue, please feel free to close this issue in this case: https://gitlab.archlinux.org/archlinux/packaging/packages/cuda/-/issues/7

lorenzo-rovigatti commented 4 months ago

Hi, and thanks for the issue. I have no way of testing 12.5 yet, but as soon as it becomes available on the cluster I use I'll test compilation. In the mean time I'll leave the issue open in case anybody else wants to provide more feedback.

micwoj92 commented 1 month ago

Was anything changed? I just checked with 32dbd3ee110b25eb1aebf17f6bfa5bd00ea41d9f and CUDA 12.6.0 and ti compiles. Unless it was some issue with 12.5.0 that was fixed in 12.6.0.

From me this issue can be closed @lorenzo-rovigatti

lorenzo-rovigatti commented 1 month ago

I don't think anything meaningful was changed. Maybe there was some configuration issue on your hand? Regardless, I'll close the issue, but feel free to reopen it if necessary.

micwoj92 commented 1 month ago

I checked it yesterday with different cuda versions, other system components were exactly the same: 12.4.1 builds 12.5.0 fails 12.5.1 fails 12.6.0 builds