Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb with models and missing dependencies #18359

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
1082a62
RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb with models and missing d…
ThomasHoffmann77 Jul 20, 2023
8b47f1b
checksums
ThomasHoffmann77 Jul 20, 2023
bcf7c89
checksums moved
ThomasHoffmann77 Jul 20, 2023
1851f8f
remove download_dep_fail
ThomasHoffmann77 Jul 20, 2023
27b635a
add missing DLPack/0.8-foss-2022a, DMLC-Core/0.5-foss-2022a, nanoflan…
ThomasHoffmann77 Jul 20, 2023
d4f32d7
Remove end of file blank lines for DLPack
verdurin Jul 21, 2023
d8b60fd
fix checksums
ThomasHoffmann77 Jul 24, 2023
7348a5e
postinstall data
ThomasHoffmann77 Aug 9, 2023
0c7ba6a
typos
ThomasHoffmann77 Aug 9, 2023
a45f57e
typos
ThomasHoffmann77 Aug 9, 2023
2f142e8
Delete RFdiffusion-1.1.0-foss-2022a.eb
ThomasHoffmann77 Aug 9, 2023
97b130a
Update RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb
ThomasHoffmann77 Aug 9, 2023
28c433f
Update RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb
ThomasHoffmann77 Aug 21, 2023
8248e55
Update DGL-1.1.1-foss-2022a-CUDA-11.7.0.eb
ThomasHoffmann77 Nov 17, 2023
f3458b0
Update DGL-1.1.1-foss-2022a.eb
ThomasHoffmann77 Nov 17, 2023
a0c1945
Update DGL-1.1.1-foss-2022a-CUDA-11.7.0.eb
ThomasHoffmann77 Nov 17, 2023
38cd29f
Merge branch 'develop' into 20230720134603_new_pr_RFdiffusion110
ThomasHoffmann77 Nov 20, 2023
7a2f9f7
Update RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb
ThomasHoffmann77 Nov 20, 2023
08fa70b
Delete easybuild/easyconfigs/n/nanoflann/nanoflann-1.5.0-GCCcore-11.3…
ThomasHoffmann77 Feb 15, 2024
976eead
Delete easybuild/easyconfigs/n/nanoflann/nanoflann-1.5.0_disable_fail…
ThomasHoffmann77 Feb 15, 2024
029bf36
Merge branch 'easybuilders:develop' into 20230720134603_new_pr_RFdiff…
ThomasHoffmann77 Feb 15, 2024
b7ec8ea
use data from PR #20019
ThomasHoffmann77 Mar 11, 2024
386881a
fix style
ThomasHoffmann77 Mar 11, 2024
2953c1e
Merge branch 'easybuilders:develop' into 20230720134603_new_pr_RFdiff…
ThomasHoffmann77 May 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 166 additions & 0 deletions easybuild/easyconfigs/d/DGL/DGL-1.1.1-foss-2022a-CUDA-11.7.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
easyblock = 'CMakeMake'

name = 'DGL'
version = '1.1.1'
versionsuffix = '-CUDA-%(cudaver)s'

homepage = 'https://www.dgl.ai'
description = """DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs.
DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest
of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow."""

toolchain = {'name': 'foss', 'version': '2022a'}
# GCC 10.3.0 vectorizer causes errors in nanoflann on skylake and later
# and since nanoflann is just a header file we need to turn it off for anything that uses it
# TH? toolchainopts = {'vectorize': False}

github_account = 'dmlc'
source_urls = [GITHUB_LOWER_SOURCE]
sources = [
{
'download_filename': '%(version)s.tar.gz',
'filename': '%(namelower)s-%(version)s.tar.gz',
},
{
'source_urls': ['https://github.com/KarypisLab/METIS/archive'],
'download_filename': 'v5.1.1-DistDGL-v0.5.tar.gz',
'filename': 'metis-5.1.1-DistDGL-v0.5.tar.gz',
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS --strip-components=1 -xf %s",
},
{
'source_urls': ['https://github.com/KarypisLab/GKlib/archive'],
'download_filename': 'METIS-v5.1.1-DistDGL-0.5.tar.gz',
'filename': 'GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz',
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS/GKlib --strip-components=1 -xf %s",
},
{
'filename': 'tensorpipe-20230206.tar.gz',
'git_config': {
'url': 'https://github.com/pytorch',
'repo_name': 'tensorpipe',
'commit': '6042f1a4cbce8eef997f11ed0012de137b317361',
'recursive': True,
},
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/tensorpipe --strip-components=1 -xf %s",
},
{
'filename': 'pcg-20220408.tar.gz',
'git_config': {
'url': 'https://github.com/imneme',
'repo_name': 'pcg-cpp',
'commit': '428802d1a5634f96bcd0705fab379ff0113bcf13',
'recursive': True,
},
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/pcg --strip-components=1 -xf %s",
},
# requires commit 8009060 due to LIBXSMM_MELTW_FLAG_OPREDUCE_VECS_REDOP_MAX
# -> do not use outdated dependency ver 1.17
{
'filename': 'libxsmm-20230504.tar.gz',
'git_config': {
'url': 'https://github.com/libxsmm',
'repo_name': 'libxsmm',
'commit': '80090603e43f6ddc870cc42e1403dd0af07744cc',
'recursive': True,
},
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/libxsmm --strip-components=1 -xf %s",
},
# DGL really needs cub >= 1.17, CUDA 11.3 only have 1.11
{
'source_urls': ['https://github.com/NVIDIA/thrust/archive'],
'download_filename': '1.17.0.tar.gz',
'filename': 'thrust-1.17.0.tar.gz',
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/thrust --strip-components=1 -xf %s",
},
{
'source_urls': ['https://github.com/NVIDIA/cub/archive'],
'download_filename': '1.17.0.tar.gz',
'filename': 'cub-1.17.0.tar.gz',
'extract_cmd':
"tar -C %(namelower)s-%(version)s/third_party/thrust/dependencies/cub --strip-components=1 -xf %s",
},
]
patches = [
'%(name)s-%(version)s_use_externals_instead_of_submodules.patch',
'%(name)s-%(version)s_nanoflanSearchParams.patch'
]
checksums = [
{'dgl-1.1.1.tar.gz': '076026a7818f2396056252269d7960c561840bb0fe89494e11f8d6c524891c49'},
{'metis-5.1.1-DistDGL-v0.5.tar.gz': 'cedf0b32d32a8496bac7eb078b2b8260fb00ddb8d50c27e4082968a01bc33331'},
{'GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz': '52aa0d383d42360f4faa0ae9537ba2ca348eeab4db5f2dfd6343192d0ff4b833'},
{'tensorpipe-20230206.tar.gz': '97dcc6ab648d38f62ddc9d2a33de2a789c967e43e819481f817341881912a524'},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checksums for git checkouts are not stable, so should be removed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@smoors I was not aware of the unstable checksums. Is this the case for any commit or only for recursive checkouts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's the case whenever you are not downloading a tarball directly, but creating the tarball yourself, so any git clone

{'pcg-20220408.tar.gz': 'bda2ec8651dd643c6f9c56000ddbc64a2d9664160b4ccb691396639a1c1b2385'},
{'libxsmm-20230504.tar.gz': '6d212a7ab82845eacc14a39391837b187feda22f5369fd52ea740b370d31ca2d'},
{'thrust-1.17.0.tar.gz': 'b02aca5d2325e9128ed9d46785b8e72366f758b873b95001f905f22afcf31bbf'},
{'cub-1.17.0.tar.gz': '16fd4860ae3196bc3eb08bf5754fa2a9697951ddae36dc9721e6614388893618'},
{'DGL-1.1.1_use_externals_instead_of_submodules.patch':
'b98bb1b90ea5cb64e492fee3b2390eff4d9901a37c954c39326ce667a0ecdd8e'},
{'DGL-1.1.1_nanoflanSearchParams.patch': '82c1414116a95d4efaf99d4025d223af97a4fb87aac471e60a008618edae38bb'},
]

builddependencies = [
('CMake', '3.24.3'),
('googletest', '1.11.0'),
]

dependencies = [
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'),
('networkx', '2.8.4'),
('tqdm', '4.64.0'),
('DLPack', '0.8'),
('DMLC-Core', '0.5'),
('Parallel-Hashmap', '1.33'),
('nanoflann', '1.5.0'),
# ('libxsmm', '1.17'), # requires commit 8009060 due to LIBXSMM_MELTW_FLAG_OPREDUCE_VECS_REDOP_MAX
('CUDA', '11.7.0', '', SYSTEM),
('NCCL', '2.12.12', versionsuffix),
('PyTorch', '1.12.0', versionsuffix),
]

_copts = [
'-DUSE_AVX=OFF', # AVX + LIBXSMM requires libxsmm tag 1.eol
'-DBUILD_CPP_TEST=ON',
'-DUSE_CUDA=ON', # Must be "ON", as opposed to "1" or so, due to bad CMake code in DGL
'-DUSE_NCCL=ON',
'-DUSE_SYSTEM_NCCL=ON',
'-DBUILD_WITH_SHARED_NCCL=ON',
'-DUSE_FP16=ON',
]
configopts = ' '.join(_copts)

# Must not build shared libs, DGL uses internal versions of, among others, METIS
# but it doesn't install these internal libraries and simply assumes that everything is
# statically linked.
build_shared_libs = False

runtest = 'test'

exts_defaultclass = 'PythonPackage'
exts_default_options = {
'easyblock': 'PythonPackage',
'download_dep_fail': True,
'use_pip': True,
'sanity_pip_check': True,
'runtest': True,
}

exts_list = [
('dgl', version, {
'installopts': "--use-feature=in-tree-build ",
'source_tmpl': '%(namelower)s-%(version)s.tar.gz',
'start_dir': 'python',
'checksums': ['076026a7818f2396056252269d7960c561840bb0fe89494e11f8d6c524891c49'],
}),
]

sanity_check_paths = {
'files': ['lib/libdgl.%s' % SHLIB_EXT],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

modextrapaths = {
'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'],
}

moduleclass = 'ai'
146 changes: 146 additions & 0 deletions easybuild/easyconfigs/d/DGL/DGL-1.1.1-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
easyblock = 'CMakeMake'

name = 'DGL'
version = '1.1.1'

homepage = 'https://www.dgl.ai'
description = """DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs.
DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest
of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow."""

toolchain = {'name': 'foss', 'version': '2022a'}
# GCC 10.3.0 vectorizer causes errors in nanoflann on skylake and later
# and since nanoflann is just a header file we need to turn it off for anything that uses it
# TH? toolchainopts = {'vectorize': False}

github_account = 'dmlc'
source_urls = [GITHUB_LOWER_SOURCE]
sources = [
{
'download_filename': '%(version)s.tar.gz',
'filename': '%(namelower)s-%(version)s.tar.gz',
},
{
'source_urls': ['https://github.com/KarypisLab/METIS/archive'],
'download_filename': 'v5.1.1-DistDGL-v0.5.tar.gz',
'filename': 'metis-5.1.1-DistDGL-v0.5.tar.gz',
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS --strip-components=1 -xf %s",
},
{
'source_urls': ['https://github.com/KarypisLab/GKlib/archive'],
'download_filename': 'METIS-v5.1.1-DistDGL-0.5.tar.gz',
'filename': 'GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz',
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS/GKlib --strip-components=1 -xf %s",
},
{
'filename': 'tensorpipe-20230206.tar.gz',
'git_config': {
'url': 'https://github.com/pytorch',
'repo_name': 'tensorpipe',
'commit': '6042f1a4cbce8eef997f11ed0012de137b317361',
'recursive': True,
},
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/tensorpipe --strip-components=1 -xf %s",
},
{
'filename': 'pcg-20220408.tar.gz',
'git_config': {
'url': 'https://github.com/imneme',
'repo_name': 'pcg-cpp',
'commit': '428802d1a5634f96bcd0705fab379ff0113bcf13',
'recursive': True,
},
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/pcg --strip-components=1 -xf %s",
},
# requires commit 8009060 due to
# LIBXSMM_MELTW_FLAG_OPREDUCE_VECS_REDOP_MAX
# -> do not use outdated dependency ver 1.17
{
'filename': 'libxsmm-20230504.tar.gz',
'git_config': {
'url': 'https://github.com/libxsmm',
'repo_name': 'libxsmm',
'commit': '80090603e43f6ddc870cc42e1403dd0af07744cc',
'recursive': True,
},
'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/libxsmm --strip-components=1 -xf %s",
},
]
patches = [
'%(name)s-%(version)s_use_externals_instead_of_submodules.patch',
'%(name)s-%(version)s_nanoflanSearchParams.patch'
]
checksums = [
{'dgl-1.1.1.tar.gz': '076026a7818f2396056252269d7960c561840bb0fe89494e11f8d6c524891c49'},
{'metis-5.1.1-DistDGL-v0.5.tar.gz': 'cedf0b32d32a8496bac7eb078b2b8260fb00ddb8d50c27e4082968a01bc33331'},
{'GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz': '52aa0d383d42360f4faa0ae9537ba2ca348eeab4db5f2dfd6343192d0ff4b833'},
{'tensorpipe-20230206.tar.gz': '97dcc6ab648d38f62ddc9d2a33de2a789c967e43e819481f817341881912a524'},
{'pcg-20220408.tar.gz': 'bda2ec8651dd643c6f9c56000ddbc64a2d9664160b4ccb691396639a1c1b2385'},
{'libxsmm-20230504.tar.gz': '6d212a7ab82845eacc14a39391837b187feda22f5369fd52ea740b370d31ca2d'},
{'DGL-1.1.1_use_externals_instead_of_submodules.patch':
'b98bb1b90ea5cb64e492fee3b2390eff4d9901a37c954c39326ce667a0ecdd8e'},
{'DGL-1.1.1_nanoflanSearchParams.patch': '82c1414116a95d4efaf99d4025d223af97a4fb87aac471e60a008618edae38bb'},
]

builddependencies = [
('CMake', '3.24.3'),
('googletest', '1.11.0'),
]

dependencies = [
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'),
('networkx', '2.8.4'),
('tqdm', '4.64.0'),
('DLPack', '0.8'),
('DMLC-Core', '0.5'),
('Parallel-Hashmap', '1.33'),
('nanoflann', '1.5.0'),
# ('libxsmm', '1.17'), # requires commit 8009060 due to LIBXSMM_MELTW_FLAG_OPREDUCE_VECS_REDOP_MAX
('PyTorch', '1.12.0'),
]

_copts = [
'-DUSE_AVX=OFF', # AVX + LIBXSMM requires libxsmm tag 1.eol
'-DBUILD_CPP_TEST=ON',
'-DUSE_CUDA=OFF', # Must be "ON", as opposed to "1" or so, due to bad CMake code in DGL
'-DUSE_NCCL=OFF',
'-DUSE_FP16=ON',
]
configopts = ' '.join(_copts)

# Must not build shared libs, DGL uses internal versions of, among others, METIS
# but it doesn't install these internal libraries and simply assumes that everything is
# statically linked.
build_shared_libs = False

runtest = 'test'

exts_defaultclass = 'PythonPackage'
exts_default_options = {
'easyblock': 'PythonPackage',
'download_dep_fail': True,
'use_pip': True,
'sanity_pip_check': True,
'runtest': True,
}

exts_list = [
('dgl', version, {
'installopts': "--use-feature=in-tree-build ",
'source_tmpl': '%(namelower)s-%(version)s.tar.gz',
'start_dir': 'python',
'checksums': ['076026a7818f2396056252269d7960c561840bb0fe89494e11f8d6c524891c49'],
}),
]

sanity_check_paths = {
'files': ['lib/libdgl.%s' % SHLIB_EXT],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

modextrapaths = {
'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'],
}

moduleclass = 'ai'
14 changes: 14 additions & 0 deletions easybuild/easyconfigs/d/DGL/DGL-1.1.1_nanoflanSearchParams.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Thomas Hoffmann, EMBL Heidelberg, [email protected], 2023/07
# allow using nanoflann 1.5.0, which provides nanoflann::SearchParameters(), but not nanoflann::SearchParams()
diff -ru dgl-1.1.1/src/graph/transform/cpu/kdtree_ndarray_adapter.h dgl-1.1.1_nanoflanSearchParams/src/graph/transform/cpu/kdtree_ndarray_adapter.h
--- dgl-1.1.1/src/graph/transform/cpu/kdtree_ndarray_adapter.h 2023-06-23 07:00:04.000000000 +0200
+++ dgl-1.1.1_nanoflanSearchParams/src/graph/transform/cpu/kdtree_ndarray_adapter.h 2023-07-06 12:17:16.433558692 +0200
@@ -74,7 +74,7 @@
FloatType* out_dists) const {
nanoflann::KNNResultSet<FloatType, IdType> resultSet(num_closest);
resultSet.init(out_idxs, out_dists);
- index_->findNeighbors(resultSet, query_pt, nanoflann::SearchParams());
+ index_->findNeighbors(resultSet, query_pt, nanoflann::SearchParameters());
}

/** @brief Interface expected by KDTreeSingleIndexAdaptor */
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Thomas Hoffmann, EMBL Heidelberg, [email protected], 2023/07
# based on DGL-0.9.1_use_externals_instead_of_submodules.patch,
# but build libxsmm because LIBXSMM_MELTW_FLAG_OPREDUCE_VECS_REDOP_MAX is required from commit 8009060 > v1.17
diff -ru dgl-1.1.1/CMakeLists.txt dgl-1.1.1_use_externals_instead_of_submodules/CMakeLists.txt
--- dgl-1.1.1/CMakeLists.txt 2023-06-23 07:00:04.000000000 +0200
+++ dgl-1.1.1_use_externals_instead_of_submodules/CMakeLists.txt 2023-07-06 11:08:46.258340318 +0200
@@ -176,12 +176,12 @@

# include directories
target_include_directories(dgl PRIVATE "include")
-target_include_directories(dgl PRIVATE "third_party/dlpack/include")
-target_include_directories(dgl PRIVATE "third_party/dmlc-core/include")
-target_include_directories(dgl PRIVATE "third_party/phmap/")
+#target_include_directories(dgl PRIVATE "third_party/dlpack/include")
+#target_include_directories(dgl PRIVATE "third_party/dmlc-core/include")
+#target_include_directories(dgl PRIVATE "third_party/phmap/")
target_include_directories(dgl PRIVATE "third_party/METIS/include/")
target_include_directories(dgl PRIVATE "tensoradapter/include")
-target_include_directories(dgl PRIVATE "third_party/nanoflann/include")
+#target_include_directories(dgl PRIVATE "third_party/nanoflann/include")
target_include_directories(dgl PRIVATE "third_party/libxsmm/include")
target_include_directories(dgl PRIVATE "third_party/pcg/include")

@@ -189,7 +189,7 @@
if (USE_HDFS)
option(DMLC_HDFS_SHARED "dgl has to build with dynamic hdfs library" ON)
endif()
-add_subdirectory("third_party/dmlc-core")
+#add_subdirectory("third_party/dmlc-core")
list(APPEND DGL_LINKER_LIBS dmlc)
set(GOOGLE_TEST 0) # Turn off dmlc-core test

@@ -220,6 +220,7 @@
endif(REBUILD_LIBXSMM)
add_dependencies(dgl libxsmm)
list(APPEND DGL_LINKER_LIBS -L${CMAKE_SOURCE_DIR}/third_party/libxsmm/lib/ xsmm.a)
+ list(APPEND DGL_LINKER_LIBS flexiblas)
endif((NOT MSVC) AND USE_LIBXSMM)

if(NOT MSVC)
@@ -305,15 +306,18 @@
# Testing
if(BUILD_CPP_TEST)
message(STATUS "Build with unittest")
- add_subdirectory(./third_party/googletest)
+ #add_subdirectory(./third_party/googletest)
enable_testing()
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
include_directories("include")
- include_directories("third_party/dlpack/include")
- include_directories("third_party/dmlc-core/include")
- include_directories("third_party/phmap")
+ #include_directories("third_party/dlpack/include")
+ #include_directories("third_party/dmlc-core/include")
+ #include_directories("third_party/phmap")
include_directories("third_party/libxsmm/include")
include_directories("third_party/pcg/include")
+ if (USE_AVX) #TH?
+ include_directories("third_party/xbyak") #TH ?
+ endif(USE_AVX) #TH ?
file(GLOB_RECURSE TEST_SRC_FILES ${PROJECT_SOURCE_DIR}/tests/cpp/*.cc)
add_executable(runUnitTests ${TEST_SRC_FILES})
target_link_libraries(runUnitTests gtest gtest_main)
Only in dgl-1.1.1_use_externals_instead_of_submodules: .CMakeLists.txt.swp
Loading
Loading