deme 2.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- deme-2.0.1/CMakeLists.txt +348 -0
- deme-2.0.1/LICENSE.md +21 -0
- deme-2.0.1/MANIFEST.in +6 -0
- deme-2.0.1/PKG-INFO +15 -0
- deme-2.0.1/README.md +319 -0
- deme-2.0.1/cmake/CudaSupportedArchitectures.cmake +68 -0
- deme-2.0.1/cmake/CxxStdAutodetect.cmake +61 -0
- deme-2.0.1/cmake/DEMEConfig.cmake.in +36 -0
- deme-2.0.1/cmake/FixNinjaColors.cmake +52 -0
- deme-2.0.1/data/clumps/3_clump.csv +7 -0
- deme-2.0.1/data/clumps/6_clump.csv +10 -0
- deme-2.0.1/data/clumps/ContactChain_initial.csv +910 -0
- deme-2.0.1/data/clumps/TeddyBear.csv +19 -0
- deme-2.0.1/data/clumps/ViperWheelSimple.csv +32542 -0
- deme-2.0.1/data/clumps/ellipsoid_2_1_1.csv +6 -0
- deme-2.0.1/data/clumps/molecule.csv +4 -0
- deme-2.0.1/data/clumps/spiky_sphere.csv +7 -0
- deme-2.0.1/data/clumps/triangular_flat.csv +7 -0
- deme-2.0.1/data/clumps/triangular_flat_6comp.csv +10 -0
- deme-2.0.1/data/mesh/GPBR_Vessel_Fine.obj +9364 -0
- deme-2.0.1/data/mesh/cone.obj +437 -0
- deme-2.0.1/data/mesh/cube.obj +62 -0
- deme-2.0.1/data/mesh/cyl_r1_h2.obj +1836 -0
- deme-2.0.1/data/mesh/excavator.obj +27626 -0
- deme-2.0.1/data/mesh/funnel.obj +1220 -0
- deme-2.0.1/data/mesh/funnel_left.obj +30 -0
- deme-2.0.1/data/mesh/hourglass.obj +2924 -0
- deme-2.0.1/data/mesh/hourglass_cap.obj +304 -0
- deme-2.0.1/data/mesh/internal_mixer.obj +4482 -0
- deme-2.0.1/data/mesh/plane_20by20.obj +18 -0
- deme-2.0.1/data/mesh/rover_wheels/curiosity_wheel.obj +257326 -0
- deme-2.0.1/data/mesh/rover_wheels/curiosity_wheel_surface.obj +149134 -0
- deme-2.0.1/data/mesh/rover_wheels/viper_wheel_right.obj +157474 -0
- deme-2.0.1/data/mesh/silo.obj +2239 -0
- deme-2.0.1/data/mesh/sphere.obj +808 -0
- deme-2.0.1/data/mesh/thin_plate.obj +2304 -0
- deme-2.0.1/data/sim_data/example_cnt_pairs.csv +3 -0
- deme-2.0.1/deme.egg-info/PKG-INFO +15 -0
- deme-2.0.1/deme.egg-info/SOURCES.txt +441 -0
- deme-2.0.1/deme.egg-info/dependency_links.txt +1 -0
- deme-2.0.1/deme.egg-info/not-zip-safe +1 -0
- deme-2.0.1/deme.egg-info/requires.txt +8 -0
- deme-2.0.1/deme.egg-info/top_level.txt +1 -0
- deme-2.0.1/packaging_instructions.txt +28 -0
- deme-2.0.1/pyproject.toml +2 -0
- deme-2.0.1/setup.cfg +4 -0
- deme-2.0.1/setup.py +163 -0
- deme-2.0.1/src/.format_all +14 -0
- deme-2.0.1/src/DEM/API.h +1876 -0
- deme-2.0.1/src/DEM/APIPrivate.cpp +2118 -0
- deme-2.0.1/src/DEM/APIPublic.cpp +2419 -0
- deme-2.0.1/src/DEM/AuxClasses.cpp +963 -0
- deme-2.0.1/src/DEM/AuxClasses.h +486 -0
- deme-2.0.1/src/DEM/BdrsAndObjs.h +670 -0
- deme-2.0.1/src/DEM/CMakeLists.txt +147 -0
- deme-2.0.1/src/DEM/Defines.h +457 -0
- deme-2.0.1/src/DEM/HostSideHelpers.hpp +739 -0
- deme-2.0.1/src/DEM/MeshUtils.cpp +186 -0
- deme-2.0.1/src/DEM/Models.h +382 -0
- deme-2.0.1/src/DEM/PyDEME.cpp +1348 -0
- deme-2.0.1/src/DEM/Structs.h +957 -0
- deme-2.0.1/src/DEM/VariableTypes.h +67 -0
- deme-2.0.1/src/DEM/dT.cpp +3084 -0
- deme-2.0.1/src/DEM/dT.h +767 -0
- deme-2.0.1/src/DEM/kT.cpp +960 -0
- deme-2.0.1/src/DEM/kT.h +468 -0
- deme-2.0.1/src/DEM/utils/Samplers.hpp +697 -0
- deme-2.0.1/src/algorithms/CMakeLists.txt +79 -0
- deme-2.0.1/src/algorithms/DEMCubContactDetection.cu +1192 -0
- deme-2.0.1/src/algorithms/DEMCubForceCollection.cu +172 -0
- deme-2.0.1/src/algorithms/DEMCubInstantiations.cu +208 -0
- deme-2.0.1/src/algorithms/DEMCubWrappers.cu +196 -0
- deme-2.0.1/src/algorithms/DEMDynamicMisc.cu +121 -0
- deme-2.0.1/src/algorithms/DEMStaticDeviceSubroutines.h +137 -0
- deme-2.0.1/src/algorithms/DEMStaticDeviceUtilities.cuh +43 -0
- deme-2.0.1/src/core/ApiVersion.h.in +40 -0
- deme-2.0.1/src/core/CMakeLists.txt +240 -0
- deme-2.0.1/src/core/DebugInfo.cpp +22 -0
- deme-2.0.1/src/core/utils/CudaAllocator.hpp +273 -0
- deme-2.0.1/src/core/utils/DEMEPaths.cpp +44 -0
- deme-2.0.1/src/core/utils/DEMEPaths.h +42 -0
- deme-2.0.1/src/core/utils/DataMigrationHelper.hpp +965 -0
- deme-2.0.1/src/core/utils/GpuError.h +69 -0
- deme-2.0.1/src/core/utils/GpuManager.cpp +108 -0
- deme-2.0.1/src/core/utils/GpuManager.h +52 -0
- deme-2.0.1/src/core/utils/HeaderGenerator.h +28 -0
- deme-2.0.1/src/core/utils/JitHelper.cpp +60 -0
- deme-2.0.1/src/core/utils/JitHelper.h +64 -0
- deme-2.0.1/src/core/utils/ManagedMemory.hpp +94 -0
- deme-2.0.1/src/core/utils/RuntimeData.cpp.in +23 -0
- deme-2.0.1/src/core/utils/RuntimeData.h +30 -0
- deme-2.0.1/src/core/utils/ThreadManager.h +107 -0
- deme-2.0.1/src/core/utils/Timer.hpp +104 -0
- deme-2.0.1/src/core/utils/WavefrontMeshLoader.hpp +713 -0
- deme-2.0.1/src/core/utils/csv.hpp +1167 -0
- deme-2.0.1/src/demo/CMakeLists.txt +101 -0
- deme-2.0.1/src/demo/DEMdemo_BallDrop.cpp +240 -0
- deme-2.0.1/src/demo/DEMdemo_BallDrop2D.cpp +201 -0
- deme-2.0.1/src/demo/DEMdemo_Centrifuge.cpp +197 -0
- deme-2.0.1/src/demo/DEMdemo_ConePenetration.cpp +274 -0
- deme-2.0.1/src/demo/DEMdemo_ContactChain.cpp +169 -0
- deme-2.0.1/src/demo/DEMdemo_Electrostatic.cpp +401 -0
- deme-2.0.1/src/demo/DEMdemo_FlexibleMesh.cpp +303 -0
- deme-2.0.1/src/demo/DEMdemo_Fracture_Box.cpp +222 -0
- deme-2.0.1/src/demo/DEMdemo_GRCPrep_Part1.cpp +192 -0
- deme-2.0.1/src/demo/DEMdemo_GRCPrep_Part2.cpp +282 -0
- deme-2.0.1/src/demo/DEMdemo_GRCPrep_Part3.cpp +256 -0
- deme-2.0.1/src/demo/DEMdemo_GameOfLife.cpp +155 -0
- deme-2.0.1/src/demo/DEMdemo_Hopper_Sphere_Cylinder.cpp +454 -0
- deme-2.0.1/src/demo/DEMdemo_Indentation.cpp +250 -0
- deme-2.0.1/src/demo/DEMdemo_Mixer.cpp +164 -0
- deme-2.0.1/src/demo/DEMdemo_Plow.cpp +179 -0
- deme-2.0.1/src/demo/DEMdemo_Repose.cpp +180 -0
- deme-2.0.1/src/demo/DEMdemo_Repose2D.cpp +179 -0
- deme-2.0.1/src/demo/DEMdemo_RotatingDrum.cpp +194 -0
- deme-2.0.1/src/demo/DEMdemo_Shake.cpp +175 -0
- deme-2.0.1/src/demo/DEMdemo_Sieve.cpp +193 -0
- deme-2.0.1/src/demo/DEMdemo_SingleSphereCollide.cpp +210 -0
- deme-2.0.1/src/demo/DEMdemo_SolarSystem.cpp +195 -0
- deme-2.0.1/src/demo/DEMdemo_TestPack.cpp +298 -0
- deme-2.0.1/src/demo/DEMdemo_WheelDP.cpp +303 -0
- deme-2.0.1/src/demo/DEMdemo_WheelDPSimplified.cpp +226 -0
- deme-2.0.1/src/demo/DEMdemo_WheelSlopeSlip.cpp +304 -0
- deme-2.0.1/src/demo/pyDEME_BallDrop.py +129 -0
- deme-2.0.1/src/demo/pyDEME_BallDrop2D.py +328 -0
- deme-2.0.1/src/demo/pyDEME_Centrifuge.py +186 -0
- deme-2.0.1/src/demo/pyDEME_ConePenetration.py +270 -0
- deme-2.0.1/src/demo/pyDEME_Electrostatic.py +395 -0
- deme-2.0.1/src/demo/pyDEME_FlexibleMesh.py +275 -0
- deme-2.0.1/src/demo/pyDEME_GRCPrep_Part1.py +166 -0
- deme-2.0.1/src/demo/pyDEME_GameOfLife.py +126 -0
- deme-2.0.1/src/demo/pyDEME_Mixer.py +147 -0
- deme-2.0.1/src/demo/pyDEME_WheelDPSimplified.py +223 -0
- deme-2.0.1/src/kernel/CUDAMathHelpers.cuh +1415 -0
- deme-2.0.1/src/kernel/DEMBinSphereKernels.cu +278 -0
- deme-2.0.1/src/kernel/DEMBinTriangleKernels.cu +221 -0
- deme-2.0.1/src/kernel/DEMCalcForceKernels.cu +265 -0
- deme-2.0.1/src/kernel/DEMCollectForceKernels.cu +137 -0
- deme-2.0.1/src/kernel/DEMCollectForceKernels_Compact.cu +102 -0
- deme-2.0.1/src/kernel/DEMCollisionKernels.cu +236 -0
- deme-2.0.1/src/kernel/DEMContactKernels_SphereSphere.cu +437 -0
- deme-2.0.1/src/kernel/DEMContactKernels_SphereTriangle.cu +427 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/AnalyticalCompDefJitify.cu +15 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllFlatten.cu +4 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratAllJitify.cu +5 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/ClumpCompAcqStratPartialJitify.cu +14 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/ClumpCompDefJitify.cu +5 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/ContactInfoWriteBack.cu +4 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/ForceInKernelReductionStrat.cu +33 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/FrictionlessHertzianForceModel.cu +42 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/FullHertzianForceModel.cu +136 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnCenteredDiff.cu +3 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnExtendedTaylor.cu +3 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/IntegrationVelPassOnForwardEuler.cu +3 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/MOIAcqStratFlatten.cu +3 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/MOIAcqStratJitify.cu +3 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/MOIDefJitify.cu +4 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/MassAcqStratFlatten.cu +1 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/MassAcqStratJitify.cu +1 -0
- deme-2.0.1/src/kernel/DEMCustomizablePolicies/MassDefJitify.cu +2 -0
- deme-2.0.1/src/kernel/DEMHelperKernels.cuh +607 -0
- deme-2.0.1/src/kernel/DEMHistoryMappingKernels.cu +158 -0
- deme-2.0.1/src/kernel/DEMIntegrationKernels.cu +264 -0
- deme-2.0.1/src/kernel/DEMMiscKernels.cu +63 -0
- deme-2.0.1/src/kernel/DEMModeratorKernels.cu +57 -0
- deme-2.0.1/src/kernel/DEMOwnerQueryKernels.cu +56 -0
- deme-2.0.1/src/kernel/DEMPrepForceKernels.cu +81 -0
- deme-2.0.1/src/kernel/DEMSphereQueryKernels.cu +51 -0
- deme-2.0.1/src/kernel/DEMTriangleBoxIntersect.cu +374 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModel2D.cu +131 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModelMooring.cu +190 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModelMooringPosition.cu +203 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModelWithCohesion.cu +144 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModelWithElectrostatic.cu +165 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModelWithFractureModel.cu +238 -0
- deme-2.0.1/src/kernel/DEMUserScripts/ForceModelWithGravity.cu +56 -0
- deme-2.0.1/src/kernel/hello.cu +6 -0
- deme-2.0.1/thirdparty/jitify/.clang-format +149 -0
- deme-2.0.1/thirdparty/jitify/.git +1 -0
- deme-2.0.1/thirdparty/jitify/.gitignore +10 -0
- deme-2.0.1/thirdparty/jitify/Doxyfile +2427 -0
- deme-2.0.1/thirdparty/jitify/LICENSE +29 -0
- deme-2.0.1/thirdparty/jitify/Makefile +110 -0
- deme-2.0.1/thirdparty/jitify/README.md +116 -0
- deme-2.0.1/thirdparty/jitify/example_headers/class_arg_kernel.cuh +69 -0
- deme-2.0.1/thirdparty/jitify/example_headers/constant_header.cuh +43 -0
- deme-2.0.1/thirdparty/jitify/example_headers/my_header1.cuh +34 -0
- deme-2.0.1/thirdparty/jitify/example_headers/my_header2.cuh +34 -0
- deme-2.0.1/thirdparty/jitify/example_headers/my_header3.cuh +34 -0
- deme-2.0.1/thirdparty/jitify/jitify.hpp +4544 -0
- deme-2.0.1/thirdparty/jitify/jitify_example.cpp +359 -0
- deme-2.0.1/thirdparty/jitify/jitify_test.cu +1153 -0
- deme-2.0.1/thirdparty/jitify/nvrtc_cli.cpp +586 -0
- deme-2.0.1/thirdparty/jitify/nvrtc_cli_test.sh +58 -0
- deme-2.0.1/thirdparty/jitify/stringify.cpp +86 -0
- deme-2.0.1/thirdparty/pybind11/.appveyor.yml +35 -0
- deme-2.0.1/thirdparty/pybind11/.clang-format +38 -0
- deme-2.0.1/thirdparty/pybind11/.clang-tidy +77 -0
- deme-2.0.1/thirdparty/pybind11/.cmake-format.yaml +73 -0
- deme-2.0.1/thirdparty/pybind11/.codespell-ignore-lines +24 -0
- deme-2.0.1/thirdparty/pybind11/.git +1 -0
- deme-2.0.1/thirdparty/pybind11/.gitattributes +1 -0
- deme-2.0.1/thirdparty/pybind11/.github/CODEOWNERS +9 -0
- deme-2.0.1/thirdparty/pybind11/.github/CONTRIBUTING.md +388 -0
- deme-2.0.1/thirdparty/pybind11/.github/ISSUE_TEMPLATE/bug-report.yml +61 -0
- deme-2.0.1/thirdparty/pybind11/.github/ISSUE_TEMPLATE/config.yml +8 -0
- deme-2.0.1/thirdparty/pybind11/.github/dependabot.yml +7 -0
- deme-2.0.1/thirdparty/pybind11/.github/labeler.yml +8 -0
- deme-2.0.1/thirdparty/pybind11/.github/labeler_merged.yml +3 -0
- deme-2.0.1/thirdparty/pybind11/.github/matchers/pylint.json +32 -0
- deme-2.0.1/thirdparty/pybind11/.github/pull_request_template.md +19 -0
- deme-2.0.1/thirdparty/pybind11/.github/workflows/ci.yml +1109 -0
- deme-2.0.1/thirdparty/pybind11/.github/workflows/configure.yml +84 -0
- deme-2.0.1/thirdparty/pybind11/.github/workflows/format.yml +57 -0
- deme-2.0.1/thirdparty/pybind11/.github/workflows/labeler.yml +20 -0
- deme-2.0.1/thirdparty/pybind11/.github/workflows/pip.yml +110 -0
- deme-2.0.1/thirdparty/pybind11/.github/workflows/upstream.yml +114 -0
- deme-2.0.1/thirdparty/pybind11/.gitignore +46 -0
- deme-2.0.1/thirdparty/pybind11/.pre-commit-config.yaml +181 -0
- deme-2.0.1/thirdparty/pybind11/.readthedocs.yml +3 -0
- deme-2.0.1/thirdparty/pybind11/CMakeLists.txt +320 -0
- deme-2.0.1/thirdparty/pybind11/LICENSE +29 -0
- deme-2.0.1/thirdparty/pybind11/MANIFEST.in +6 -0
- deme-2.0.1/thirdparty/pybind11/README.rst +180 -0
- deme-2.0.1/thirdparty/pybind11/docs/Doxyfile +21 -0
- deme-2.0.1/thirdparty/pybind11/docs/Makefile +192 -0
- deme-2.0.1/thirdparty/pybind11/docs/_static/css/custom.css +3 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/chrono.rst +81 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/custom.rst +93 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/eigen.rst +310 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/functional.rst +109 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/index.rst +43 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/overview.rst +170 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/stl.rst +249 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/cast/strings.rst +292 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/classes.rst +1335 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/embedding.rst +262 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/exceptions.rst +401 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/functions.rst +614 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/misc.rst +400 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/pycpp/index.rst +13 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/pycpp/numpy.rst +455 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/pycpp/object.rst +286 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/pycpp/utilities.rst +155 -0
- deme-2.0.1/thirdparty/pybind11/docs/advanced/smart_ptrs.rst +174 -0
- deme-2.0.1/thirdparty/pybind11/docs/basics.rst +307 -0
- deme-2.0.1/thirdparty/pybind11/docs/benchmark.py +87 -0
- deme-2.0.1/thirdparty/pybind11/docs/benchmark.rst +95 -0
- deme-2.0.1/thirdparty/pybind11/docs/changelog.rst +2732 -0
- deme-2.0.1/thirdparty/pybind11/docs/classes.rst +541 -0
- deme-2.0.1/thirdparty/pybind11/docs/cmake/index.rst +8 -0
- deme-2.0.1/thirdparty/pybind11/docs/compiling.rst +638 -0
- deme-2.0.1/thirdparty/pybind11/docs/conf.py +368 -0
- deme-2.0.1/thirdparty/pybind11/docs/faq.rst +307 -0
- deme-2.0.1/thirdparty/pybind11/docs/index.rst +48 -0
- deme-2.0.1/thirdparty/pybind11/docs/installing.rst +105 -0
- deme-2.0.1/thirdparty/pybind11/docs/limitations.rst +72 -0
- deme-2.0.1/thirdparty/pybind11/docs/pybind11-logo.png +0 -0
- deme-2.0.1/thirdparty/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
- deme-2.0.1/thirdparty/pybind11/docs/pybind11_vs_boost_python1.svg +427 -0
- deme-2.0.1/thirdparty/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
- deme-2.0.1/thirdparty/pybind11/docs/pybind11_vs_boost_python2.svg +427 -0
- deme-2.0.1/thirdparty/pybind11/docs/reference.rst +130 -0
- deme-2.0.1/thirdparty/pybind11/docs/release.rst +97 -0
- deme-2.0.1/thirdparty/pybind11/docs/requirements.txt +6 -0
- deme-2.0.1/thirdparty/pybind11/docs/upgrade.rst +552 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/attr.h +678 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/buffer_info.h +193 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/cast.h +1667 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/chrono.h +225 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/common.h +2 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/complex.h +74 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/class.h +743 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/common.h +1236 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/descr.h +158 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/init.h +434 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/internals.h +611 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/type_caster_base.h +1019 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/detail/typeid.h +65 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/eigen/matrix.h +701 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/eigen/tensor.h +511 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/eigen.h +12 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/embed.h +317 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/eval.h +156 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/functional.h +137 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/gil.h +239 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/iostream.h +265 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/numpy.h +1992 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/operators.h +202 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/options.h +92 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/pybind11.h +2882 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/pytypes.h +2487 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/stl/filesystem.h +116 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/stl.h +446 -0
- deme-2.0.1/thirdparty/pybind11/include/pybind11/stl_bind.h +845 -0
- deme-2.0.1/thirdparty/pybind11/noxfile.py +107 -0
- deme-2.0.1/thirdparty/pybind11/pybind11/__init__.py +17 -0
- deme-2.0.1/thirdparty/pybind11/pybind11/__main__.py +62 -0
- deme-2.0.1/thirdparty/pybind11/pybind11/_version.py +12 -0
- deme-2.0.1/thirdparty/pybind11/pybind11/commands.py +37 -0
- deme-2.0.1/thirdparty/pybind11/pybind11/py.typed +0 -0
- deme-2.0.1/thirdparty/pybind11/pybind11/setup_helpers.py +503 -0
- deme-2.0.1/thirdparty/pybind11/pyproject.toml +61 -0
- deme-2.0.1/thirdparty/pybind11/setup.cfg +50 -0
- deme-2.0.1/thirdparty/pybind11/setup.py +150 -0
- deme-2.0.1/thirdparty/pybind11/tests/CMakeLists.txt +583 -0
- deme-2.0.1/thirdparty/pybind11/tests/conftest.py +238 -0
- deme-2.0.1/thirdparty/pybind11/tests/constructor_stats.h +322 -0
- deme-2.0.1/thirdparty/pybind11/tests/cross_module_gil_utils.cpp +108 -0
- deme-2.0.1/thirdparty/pybind11/tests/cross_module_interleaved_error_already_set.cpp +51 -0
- deme-2.0.1/thirdparty/pybind11/tests/eigen_tensor_avoid_stl_array.cpp +14 -0
- deme-2.0.1/thirdparty/pybind11/tests/env.py +28 -0
- deme-2.0.1/thirdparty/pybind11/tests/extra_python_package/pytest.ini +0 -0
- deme-2.0.1/thirdparty/pybind11/tests/extra_python_package/test_files.py +288 -0
- deme-2.0.1/thirdparty/pybind11/tests/extra_setuptools/pytest.ini +0 -0
- deme-2.0.1/thirdparty/pybind11/tests/extra_setuptools/test_setuphelper.py +151 -0
- deme-2.0.1/thirdparty/pybind11/tests/local_bindings.h +92 -0
- deme-2.0.1/thirdparty/pybind11/tests/object.h +205 -0
- deme-2.0.1/thirdparty/pybind11/tests/pybind11_cross_module_tests.cpp +149 -0
- deme-2.0.1/thirdparty/pybind11/tests/pybind11_tests.cpp +123 -0
- deme-2.0.1/thirdparty/pybind11/tests/pybind11_tests.h +85 -0
- deme-2.0.1/thirdparty/pybind11/tests/pytest.ini +22 -0
- deme-2.0.1/thirdparty/pybind11/tests/requirements.txt +9 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_async.cpp +25 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_async.py +24 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_buffers.cpp +224 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_buffers.py +163 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_builtin_casters.cpp +392 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_builtin_casters.py +526 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_call_policies.cpp +115 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_call_policies.py +247 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_callbacks.cpp +280 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_callbacks.py +208 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_chrono.cpp +81 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_chrono.py +205 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_class.cpp +657 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_class.py +488 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +84 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/embed.cpp +23 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +28 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +39 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +46 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/main.cpp +6 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +41 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +35 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +41 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_cmake_build/test.py +8 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_const_name.cpp +55 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_const_name.py +29 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_constants_and_functions.cpp +151 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_constants_and_functions.py +52 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_copy_move.cpp +295 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_copy_move.py +132 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_custom_type_casters.cpp +209 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_custom_type_casters.py +121 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_custom_type_setup.cpp +41 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_custom_type_setup.py +48 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_docstring_options.cpp +141 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_docstring_options.py +64 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eigen_matrix.cpp +428 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eigen_matrix.py +784 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eigen_tensor.cpp +18 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eigen_tensor.inl +333 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eigen_tensor.py +290 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_embed/CMakeLists.txt +47 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_embed/catch.cpp +43 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_embed/external_module.cpp +20 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_embed/test_interpreter.cpp +468 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_embed/test_interpreter.py +14 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_embed/test_trampoline.py +16 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_enum.cpp +133 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_enum.py +264 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eval.cpp +118 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eval.py +50 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_eval_call.py +4 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_exceptions.cpp +342 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_exceptions.h +13 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_exceptions.py +383 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_factory_constructors.cpp +430 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_factory_constructors.py +516 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_gil_scoped.cpp +144 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_gil_scoped.py +244 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_iostream.cpp +126 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_iostream.py +295 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_kwargs_and_defaults.cpp +281 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_kwargs_and_defaults.py +390 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_local_bindings.cpp +106 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_local_bindings.py +257 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_methods_and_attributes.cpp +459 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_methods_and_attributes.py +527 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_modules.cpp +125 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_modules.py +120 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_multiple_inheritance.cpp +341 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_multiple_inheritance.py +493 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_numpy_array.cpp +526 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_numpy_array.py +593 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_numpy_dtypes.cpp +614 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_numpy_dtypes.py +446 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_numpy_vectorize.cpp +107 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_numpy_vectorize.py +266 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_opaque_types.cpp +77 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_opaque_types.py +58 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_operator_overloading.cpp +281 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_operator_overloading.py +151 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_pickling.cpp +194 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_pickling.py +93 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_pytypes.cpp +814 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_pytypes.py +885 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_sequences_and_iterators.cpp +581 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_sequences_and_iterators.py +251 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_smart_ptr.cpp +470 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_smart_ptr.py +315 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_stl.cpp +551 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_stl.py +377 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_stl_binders.cpp +152 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_stl_binders.py +337 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_tagbased_polymorphic.cpp +147 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_tagbased_polymorphic.py +28 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_thread.cpp +66 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_thread.py +42 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_union.cpp +22 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_union.py +8 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_virtual_functions.cpp +592 -0
- deme-2.0.1/thirdparty/pybind11/tests/test_virtual_functions.py +459 -0
- deme-2.0.1/thirdparty/pybind11/tests/valgrind-numpy-scipy.supp +140 -0
- deme-2.0.1/thirdparty/pybind11/tests/valgrind-python.supp +117 -0
- deme-2.0.1/thirdparty/pybind11/tools/FindCatch.cmake +72 -0
- deme-2.0.1/thirdparty/pybind11/tools/FindEigen3.cmake +86 -0
- deme-2.0.1/thirdparty/pybind11/tools/FindPythonLibsNew.cmake +287 -0
- deme-2.0.1/thirdparty/pybind11/tools/JoinPaths.cmake +23 -0
- deme-2.0.1/thirdparty/pybind11/tools/check-style.sh +44 -0
- deme-2.0.1/thirdparty/pybind11/tools/cmake_uninstall.cmake.in +23 -0
- deme-2.0.1/thirdparty/pybind11/tools/codespell_ignore_lines_from_errors.py +35 -0
- deme-2.0.1/thirdparty/pybind11/tools/libsize.py +36 -0
- deme-2.0.1/thirdparty/pybind11/tools/make_changelog.py +62 -0
- deme-2.0.1/thirdparty/pybind11/tools/pybind11.pc.in +7 -0
- deme-2.0.1/thirdparty/pybind11/tools/pybind11Common.cmake +395 -0
- deme-2.0.1/thirdparty/pybind11/tools/pybind11Config.cmake.in +231 -0
- deme-2.0.1/thirdparty/pybind11/tools/pybind11NewTools.cmake +256 -0
- deme-2.0.1/thirdparty/pybind11/tools/pybind11Tools.cmake +233 -0
- deme-2.0.1/thirdparty/pybind11/tools/pyproject.toml +3 -0
- deme-2.0.1/thirdparty/pybind11/tools/setup_global.py.in +63 -0
- deme-2.0.1/thirdparty/pybind11/tools/setup_main.py.in +44 -0
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
# Copyright (c) 2021, SBEL GPU Development Team
|
|
2
|
+
# Copyright (c) 2021, University of Wisconsin - Madison
|
|
3
|
+
#
|
|
4
|
+
# SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
|
|
6
|
+
# ---------------------------------------------------------------------------- #
|
|
7
|
+
# CMake Project Settings
|
|
8
|
+
# ---------------------------------------------------------------------------- #
|
|
9
|
+
|
|
10
|
+
cmake_minimum_required(VERSION 3.18)
|
|
11
|
+
|
|
12
|
+
# Version information
|
|
13
|
+
set(DEME_VERSION_MAJOR 2)
|
|
14
|
+
set(DEME_VERSION_MINOR 0)
|
|
15
|
+
set(DEME_VERSION_PATCH 0)
|
|
16
|
+
|
|
17
|
+
project(
|
|
18
|
+
Chrono-DEM-Engine
|
|
19
|
+
VERSION ${DEME_VERSION_MAJOR}.${DEME_VERSION_MINOR}.${DEME_VERSION_PATCH}
|
|
20
|
+
LANGUAGES CXX CUDA
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
24
|
+
message(STATUS "Setting CMAKE_BUILD_TYPE to 'Release' (default)")
|
|
25
|
+
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build." FORCE)
|
|
26
|
+
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo" "MinSizeRel")
|
|
27
|
+
endif()
|
|
28
|
+
|
|
29
|
+
add_compile_options(-fno-lto)
|
|
30
|
+
|
|
31
|
+
set(CMAKE_CXX_STANDARD 14)
|
|
32
|
+
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
|
|
33
|
+
set(CMAKE_HAVE_THREADS_LIBRARY 1)
|
|
34
|
+
set(CMAKE_USE_WIN32_THREADS_INIT 0)
|
|
35
|
+
set(CMAKE_USE_PTHREADS_INIT 1)
|
|
36
|
+
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# ---------------------------------------------------------------------------- #
|
|
40
|
+
# Additional Packages
|
|
41
|
+
# ---------------------------------------------------------------------------- #
|
|
42
|
+
|
|
43
|
+
include(GNUInstallDirs)
|
|
44
|
+
include(CMakePackageConfigHelpers)
|
|
45
|
+
include(FetchContent)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
find_package(CUDAToolkit REQUIRED)
|
|
49
|
+
find_package(Python COMPONENTS Interpreter Development)
|
|
50
|
+
|
|
51
|
+
add_subdirectory(thirdparty/pybind11)
|
|
52
|
+
|
|
53
|
+
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
|
54
|
+
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
|
55
|
+
|
|
56
|
+
set(CMAKE_INSTALL_RPATH "$ENV{CONDA_PREFIX}/lib/python3.10/site-packages/lib")
|
|
57
|
+
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
58
|
+
|
|
59
|
+
# Find CUB library (this might need to be done in source-level config)
|
|
60
|
+
find_package(
|
|
61
|
+
CUB REQUIRED
|
|
62
|
+
HINTS ${CUDAToolkit_ROOT}/lib64/cmake/cub
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
# Find NVIDIA's Jitify library
|
|
66
|
+
find_path(
|
|
67
|
+
NVIDIAJitifyPath
|
|
68
|
+
NAMES jitify.hpp
|
|
69
|
+
PATHS "${CMAKE_CURRENT_LIST_DIR}/thirdparty/jitify"
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
set(NVIDIAJitifyPath "${CMAKE_CURRENT_LIST_DIR}/thirdparty/jitify")
|
|
73
|
+
|
|
74
|
+
# Include pyBind11 library
|
|
75
|
+
include_directories(${PYTHON_INCLUDE_DIRS})
|
|
76
|
+
|
|
77
|
+
# Let the user decide if they want to use ChPF
|
|
78
|
+
option(USE_CHPF "Toggle the use of ChPF for outputting" OFF)
|
|
79
|
+
|
|
80
|
+
if(USE_CHPF)
|
|
81
|
+
# Find ChPF, else fetch it
|
|
82
|
+
find_package(ChPF 3.0 QUIET)
|
|
83
|
+
if (NOT ChPF_FOUND)
|
|
84
|
+
FetchContent_Declare(
|
|
85
|
+
ChPF
|
|
86
|
+
GIT_REPOSITORY https://gitlab.com/uwsbel/chpf.git
|
|
87
|
+
GIT_TAG 0699f01e720cecf58719a1651ab797c6a62a1897
|
|
88
|
+
)
|
|
89
|
+
FetchContent_MakeAvailable(ChPF)
|
|
90
|
+
endif()
|
|
91
|
+
|
|
92
|
+
# Based on whether ChPF was found or fetched, set the target name CMake can use to find it
|
|
93
|
+
if (ChPF_FOUND)
|
|
94
|
+
set(ChPF_IMPORTED_NAME "ChPF::ChPF")
|
|
95
|
+
elseif (chpf_POPULATED)
|
|
96
|
+
set(ChPF_IMPORTED_NAME "ChPF")
|
|
97
|
+
endif()
|
|
98
|
+
endif()
|
|
99
|
+
|
|
100
|
+
# Let the user decide if they want to use managed arrays, rather than default cudaMalloc and cudaMallocHost memory.
|
|
101
|
+
# Note that turning this on gives no performance benefits, and it's considered legacy.
|
|
102
|
+
set(USE_MANAGED_ARRAYS_DESC
|
|
103
|
+
"Use managed CUDA arrays (instead of manual CUDA host and device memory) to store data"
|
|
104
|
+
"Switching it on makes the project operable on a Linux platform (excluding WSL) only."
|
|
105
|
+
)
|
|
106
|
+
option(USE_MANAGED_ARRAYS "${USE_MANAGED_ARRAYS_DESC}" OFF)
|
|
107
|
+
|
|
108
|
+
# ---------------------------------------------------------------------------- #
|
|
109
|
+
# Global Configuration
|
|
110
|
+
# ---------------------------------------------------------------------------- #
|
|
111
|
+
|
|
112
|
+
include(cmake/CxxStdAutodetect.cmake)
|
|
113
|
+
|
|
114
|
+
# The compiler will build against this C++ standard, if available.
|
|
115
|
+
set(TargetCXXStandard "STD_AUTODETECT" CACHE STRING "The C++ standard used by the compiler")
|
|
116
|
+
set_property(
|
|
117
|
+
CACHE TargetCXXStandard
|
|
118
|
+
PROPERTY
|
|
119
|
+
STRINGS STD_AUTODETECT STD_CXX11 STD_CXX14 STD_CXX17 STD_CXX20
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
# Defining option to build PyDEME wrapper
|
|
123
|
+
|
|
124
|
+
option(PYTHON_BUILD "Sets the build process for Python wrapper around DEME" OFF)
|
|
125
|
+
mark_as_advanced(PYTHON_BUILD)
|
|
126
|
+
|
|
127
|
+
# Convert the standard into something CMake will understand
|
|
128
|
+
if(TargetCXXStandard STREQUAL STD_CXX11)
|
|
129
|
+
set(CXXSTD_MAX 11)
|
|
130
|
+
elseif(TargetCXXStandard STREQUAL STD_CXX14)
|
|
131
|
+
set(CXXSTD_MAX 14)
|
|
132
|
+
elseif(TargetCXXStandard STREQUAL STD_CXX17)
|
|
133
|
+
set(CXXSTD_MAX 17)
|
|
134
|
+
elseif(TargetCXXStandard STREQUAL STD_CXX20)
|
|
135
|
+
set(CXXSTD_MAX 20)
|
|
136
|
+
else()
|
|
137
|
+
set(CXXSTD_MAX 17)
|
|
138
|
+
endif()
|
|
139
|
+
cxx_std_autodetect()
|
|
140
|
+
|
|
141
|
+
# Allow the use of #include <> for project headers (allowing cleaner better relative pathing)
|
|
142
|
+
set(ProjectIncludeSource "${CMAKE_CURRENT_SOURCE_DIR}/src")
|
|
143
|
+
set(ProjectIncludeGenerated "${CMAKE_BINARY_DIR}/src")
|
|
144
|
+
|
|
145
|
+
# Global fix for CUDA language bug
|
|
146
|
+
include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
#------------------------------------------------------------
|
|
150
|
+
# Install destinations for data and demo programs
|
|
151
|
+
#------------------------------------------------------------
|
|
152
|
+
|
|
153
|
+
set(DEME_INSTALL_DEMO "bin")
|
|
154
|
+
|
|
155
|
+
# ---------------------------------------------------------------------------- #
|
|
156
|
+
# Source-level configuration
|
|
157
|
+
# ---------------------------------------------------------------------------- #
|
|
158
|
+
|
|
159
|
+
add_subdirectory(src/core)
|
|
160
|
+
add_subdirectory(src/DEM)
|
|
161
|
+
add_subdirectory(src/algorithms)
|
|
162
|
+
|
|
163
|
+
# ---------------------------------------------------------------------------- #
|
|
164
|
+
# Final Library Generation
|
|
165
|
+
# ---------------------------------------------------------------------------- #
|
|
166
|
+
|
|
167
|
+
add_library(
|
|
168
|
+
simulator_multi_gpu
|
|
169
|
+
STATIC
|
|
170
|
+
$<TARGET_OBJECTS:core>
|
|
171
|
+
$<TARGET_OBJECTS:DEM>
|
|
172
|
+
$<TARGET_OBJECTS:algorithms>
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
# Extract include directories from the object bundles
|
|
176
|
+
get_target_property(CORE_INTERFACE core INTERFACE_INCLUDE_DIRECTORIES)
|
|
177
|
+
get_target_property(DEM_INTERFACE DEM INTERFACE_INCLUDE_DIRECTORIES)
|
|
178
|
+
get_target_property(ALGORITHMS_INTERFACE algorithms INTERFACE_INCLUDE_DIRECTORIES)
|
|
179
|
+
|
|
180
|
+
# All targets use the same include directories, so we can cheat and just export one of them
|
|
181
|
+
target_include_directories(simulator_multi_gpu
|
|
182
|
+
PUBLIC ${CORE_INTERFACE}
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
if(NOT PYTHON_BUILD)
|
|
186
|
+
# If use ChPF, inform the source
|
|
187
|
+
if(USE_CHPF)
|
|
188
|
+
target_compile_definitions(simulator_multi_gpu PUBLIC DEME_USE_CHPF)
|
|
189
|
+
set(USE_CHPF_STR "ON")
|
|
190
|
+
|
|
191
|
+
target_link_libraries(simulator_multi_gpu
|
|
192
|
+
PUBLIC CUDA::cudart
|
|
193
|
+
PUBLIC CUDA::nvrtc
|
|
194
|
+
PUBLIC CUDA::cuda_driver
|
|
195
|
+
PUBLIC ${ChPF_IMPORTED_NAME}
|
|
196
|
+
PUBLIC DEMERuntimeDataHelper
|
|
197
|
+
)
|
|
198
|
+
else()
|
|
199
|
+
set(USE_CHPF_STR "OFF")
|
|
200
|
+
|
|
201
|
+
target_link_libraries(simulator_multi_gpu
|
|
202
|
+
PUBLIC CUDA::cudart
|
|
203
|
+
PUBLIC CUDA::nvrtc
|
|
204
|
+
PUBLIC CUDA::cuda_driver
|
|
205
|
+
PUBLIC DEMERuntimeDataHelper
|
|
206
|
+
)
|
|
207
|
+
endif()
|
|
208
|
+
else()
|
|
209
|
+
# py version does not use ChPF
|
|
210
|
+
set(USE_CHPF_STR "OFF")
|
|
211
|
+
|
|
212
|
+
target_link_libraries(simulator_multi_gpu
|
|
213
|
+
PUBLIC CUDA::cudart
|
|
214
|
+
PUBLIC CUDA::nvrtc
|
|
215
|
+
PUBLIC CUDA::cuda_driver
|
|
216
|
+
PUBLIC DEMERuntimeDataHelper_python
|
|
217
|
+
PUBLIC ${PYTHON_LIBRARIES}
|
|
218
|
+
)
|
|
219
|
+
endif()
|
|
220
|
+
|
|
221
|
+
# If use managed arrays, define a macro
|
|
222
|
+
if(USE_MANAGED_ARRAYS)
|
|
223
|
+
target_compile_definitions(simulator_multi_gpu PUBLIC DEME_USE_MANAGED_ARRAYS)
|
|
224
|
+
endif()
|
|
225
|
+
|
|
226
|
+
# Specific to Windows...
|
|
227
|
+
if(WIN32)
|
|
228
|
+
target_link_libraries(simulator_multi_gpu
|
|
229
|
+
PUBLIC dbghelp)
|
|
230
|
+
endif()
|
|
231
|
+
|
|
232
|
+
# Attach include directories to the top-level library target
|
|
233
|
+
set_target_properties(simulator_multi_gpu
|
|
234
|
+
PROPERTIES
|
|
235
|
+
LINKER_LANGUAGE CUDA
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
# ---------------------------------------------------------------------------- #
|
|
239
|
+
# Export and Install The Generated Targets
|
|
240
|
+
# ---------------------------------------------------------------------------- #
|
|
241
|
+
|
|
242
|
+
set(config_directory ${CMAKE_INSTALL_LIBDIR}/cmake/DEME)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
# Install the library, creating an export target for it as well
|
|
246
|
+
if(NOT PYTHON_BUILD)
|
|
247
|
+
install(
|
|
248
|
+
TARGETS simulator_multi_gpu DEMERuntimeDataHelper
|
|
249
|
+
EXPORT DEMETargets
|
|
250
|
+
LIBRARY
|
|
251
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
252
|
+
)
|
|
253
|
+
else()
|
|
254
|
+
install(
|
|
255
|
+
TARGETS simulator_multi_gpu DEMERuntimeDataHelper_python
|
|
256
|
+
EXPORT DEMETargets
|
|
257
|
+
LIBRARY
|
|
258
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
259
|
+
)
|
|
260
|
+
endif()
|
|
261
|
+
|
|
262
|
+
install(CODE "message(\"Removing build-tree libraries from installation target...\")")
|
|
263
|
+
install(CODE "file(REMOVE \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libDEMERuntimeDataHelper.so\")")
|
|
264
|
+
|
|
265
|
+
if(NOT PYTHON_BUILD)
|
|
266
|
+
install(
|
|
267
|
+
TARGETS DEMERuntimeDataHelper_install
|
|
268
|
+
EXPORT DEMETargets
|
|
269
|
+
LIBRARY
|
|
270
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
271
|
+
)
|
|
272
|
+
endif()
|
|
273
|
+
|
|
274
|
+
# Export the generated library target
|
|
275
|
+
export(EXPORT DEMETargets
|
|
276
|
+
FILE "${CMAKE_CURRENT_BINARY_DIR}/DEME/DEMETargets.cmake"
|
|
277
|
+
NAMESPACE DEME::
|
|
278
|
+
)
|
|
279
|
+
|
|
280
|
+
# Set the install location for the exported target file
|
|
281
|
+
install(
|
|
282
|
+
EXPORT DEMETargets
|
|
283
|
+
DESTINATION
|
|
284
|
+
${config_directory}
|
|
285
|
+
NAMESPACE DEME::
|
|
286
|
+
)
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
# These macros aid in the generation of the installable config files
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
# Generate the **Build Tree** version of DEMEConfig.cmake from the base file
|
|
293
|
+
set(CONF_INCLUDE_DIRS "${ProjectIncludeSource}" "${ProjectIncludeGenerated}")
|
|
294
|
+
|
|
295
|
+
configure_file(cmake/DEMEConfig.cmake.in
|
|
296
|
+
"${CMAKE_CURRENT_BINARY_DIR}/DEME/DEMEConfig.cmake"
|
|
297
|
+
@ONLY
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
# Generate the _Install Tree_ version of DEMEConfig.cmake from the base file
|
|
302
|
+
file(RELATIVE_PATH REL_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${config_directory} ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
|
|
303
|
+
set(CONF_INCLUDE_DIRS "\${DEMECMakeDir}/${REL_INCLUDE_DIR}")
|
|
304
|
+
set(CONF_SHARE_DATA_DIRS "\${DEMECMakeDir}/${REL_INCLUDE_DIR}/../share/DEME/data")
|
|
305
|
+
|
|
306
|
+
# NOTE: This is placed in CMAKE_FILES_DIRECTORY to keep it out of the build tree
|
|
307
|
+
configure_file(cmake/DEMEConfig.cmake.in
|
|
308
|
+
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/DEMEConfig.cmake"
|
|
309
|
+
@ONLY
|
|
310
|
+
)
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
# Automatically generate a DEMEConfigVersion.cmake file
|
|
314
|
+
|
|
315
|
+
write_basic_package_version_file(
|
|
316
|
+
${CMAKE_CURRENT_BINARY_DIR}/DEME/DEMEConfigVersion.cmake
|
|
317
|
+
VERSION ${DEME_VERSION_MAJOR}.${DEME_VERSION_MINOR}.${DEME_VERSION_PATCH}
|
|
318
|
+
COMPATIBILITY AnyNewerVersion
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
# Install the generated config files
|
|
322
|
+
install(
|
|
323
|
+
FILES
|
|
324
|
+
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/DEMEConfig.cmake"
|
|
325
|
+
"${CMAKE_CURRENT_BINARY_DIR}/DEME/DEMEConfigVersion.cmake"
|
|
326
|
+
DESTINATION
|
|
327
|
+
${config_directory}
|
|
328
|
+
)
|
|
329
|
+
|
|
330
|
+
# ---------------------------------------------------------------------------- #
|
|
331
|
+
# Copy data directory over
|
|
332
|
+
# ---------------------------------------------------------------------------- #
|
|
333
|
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/data/ DESTINATION ${CMAKE_BINARY_DIR}/data/)
|
|
334
|
+
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/data/ DESTINATION ${CMAKE_INSTALL_DATADIR}/DEME/data/)
|
|
335
|
+
|
|
336
|
+
# ---------------------------------------------------------------------------- #
|
|
337
|
+
# Copy kernels over
|
|
338
|
+
# ---------------------------------------------------------------------------- #
|
|
339
|
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/src/kernel/ DESTINATION ${CMAKE_BINARY_DIR}/kernel/)
|
|
340
|
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/src/DEM/Defines.h DESTINATION ${CMAKE_BINARY_DIR}/DEM)
|
|
341
|
+
file(COPY ${CMAKE_CURRENT_LIST_DIR}/src/DEM/VariableTypes.h DESTINATION ${CMAKE_BINARY_DIR}/DEM)
|
|
342
|
+
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/src/kernel/ DESTINATION ${CMAKE_INSTALL_DATADIR}/DEME/kernel/)
|
|
343
|
+
|
|
344
|
+
# ---------------------------------------------------------------------------- #
|
|
345
|
+
# Build embedded demos
|
|
346
|
+
# ---------------------------------------------------------------------------- #
|
|
347
|
+
add_subdirectory(src/demo)
|
|
348
|
+
|
deme-2.0.1/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
Copyright (c) 2021, SBEL GPU Development Team.
|
|
3
|
+
Copyright (c) 2021, University of Wisconsin - Madison
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
6
|
+
|
|
7
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
8
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
9
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
10
|
+
|
|
11
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
> See CONTRIBUTORS.md for a list of project authors by name and date.
|
|
15
|
+
|
|
16
|
+
### NOTICE OF THIRDPARTY LICENSES
|
|
17
|
+
|
|
18
|
+
This project depends on certain third party software which is governed by its own licensing and distribution guidelines. Project files in the `thirdparty/` directory may contain their own `LICENSE` or `COPYING`` notices which should be consulted before the use or distribution of this software.
|
|
19
|
+
|
|
20
|
+
Software components obtained and modified from external (compatibly-licensed) sources may be found in the project's main source tree (`src/`) and should be clearly marked as modifications of the original work.
|
|
21
|
+
|
deme-2.0.1/MANIFEST.in
ADDED
deme-2.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: deme
|
|
3
|
+
Version: 2.0.1
|
|
4
|
+
Summary: PyBind Wrapper Library for DEM-Engine
|
|
5
|
+
Home-page: UNKNOWN
|
|
6
|
+
Author: Ruochun Zhang
|
|
7
|
+
Author-email: ruochunz@gmail.com
|
|
8
|
+
License: UNKNOWN
|
|
9
|
+
Platform: UNKNOWN
|
|
10
|
+
Provides-Extra: dev
|
|
11
|
+
Provides-Extra: test
|
|
12
|
+
License-File: LICENSE.md
|
|
13
|
+
|
|
14
|
+
UNKNOWN
|
|
15
|
+
|