Compare commits

..

45 Commits

Author SHA1 Message Date
Fabien Bruneval
ad0b70a64a MOLGW package: fix dependence to threaded MKL (#39028)
* molgw package.py

* molgw package.py almost ready

* bug fix in molgw package.py

* MOLGW v3.2

* black pass

* duplicated line eliminated

* remove FIXME in the header

* add me as a maintainer

* fix previous commit

* sort the imports in the order spack wants

* chop the too-long lines

* many fixes

- variants before dependences
- eliminate useless build and install stages
- no openmp with intel-mkl was broken

* after blackization

* cleaning

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update var/spack/repos/builtin/packages/molgw/package.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* use threaded mkl when openmp is triggered

---------

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-07-28 08:30:27 -04:00
Matthias Wolf
b5444e4304 py-distributed: add missing tblib dependency. (#39123)
I noticed this as we run a `pip check` on all modules we generate. This
dependeny seems to have been around for a long time:

https://github.com/dask/distributed/blob/2020.12.0/requirements.txt#L8
https://github.com/dask/distributed/blob/2023.4.1/pyproject.toml#L39

While it does not seem essential, it would be nice to have consistent
installations by including the missing dependency.
2023-07-28 05:42:35 -04:00
Michael Kuhn
e1d5d34b56 gcc: add 13.2.0 (#39119) 2023-07-28 10:36:07 +02:00
Brian Van Essen
e5b4607548 Added support for building with Caliper (#39116) 2023-07-27 13:59:11 -07:00
Brian Van Essen
ecdd8e035c Added the import of the regex package (#39117) 2023-07-27 13:53:40 -07:00
snehring
9d9e4a52f5 tecio: adding new package tecio (#39099) 2023-07-27 12:26:25 -07:00
Aiden Grossman
9e0629213c lm-sensors: respect compiler choice (#38890)
Currently lm-sensors defaults to the compiler specified in the Makefile
(gcc) rather than the one specified in the spec. This patch appends the
CC flag to the make invocation with the spec compiler to fix this
behavior.
2023-07-27 19:58:21 +02:00
Matthieu Dorier
51fa4e5fc4 mochi-margo: added version 0.14.1 (#39110) 2023-07-27 10:17:08 -07:00
Sreenivasa Murthy Kolam
8908b7584e Updates to rocm recipes for rocm-5.5.0 and rocm-5.5.1 releases (#37910)
* initial commit for rocm-5.5.0 release
* fix the hipsparse  build error for 5.5.0
* fix build error for amrex .add hiprand as a dependency
* modify the patch for rocprofiler-dev
* add hiprand for +rocm build
* initial commit for rocm-5.5.1 release
* bump up the version for rocm-5.5.1 release.
* bump up the version for rocmlir.miopen to use this backend only till 5.5
* add new recipe py-barectf and add it as dependency for rocprofiler-dev
* revert the changes for rocprofiler-dev for 5.5.0/1 for now as it depends
  on hsa-amdaqlprofile.so which is a closed source and no spack recipe is
  available for now.
* add rocm-core as dependency for rocm packages from 5.5.0 onwards
* avoid download of the gtest for building unit tests
2023-07-27 09:42:17 -07:00
Aiden Grossman
936c6045fc ROCm packages: remove build type variants (#39089)
After #36679, the default build type is Release, so there is no need to
explicitly set the build type as a custom variant.
2023-07-27 08:08:59 +02:00
David Boehme
ca2e9cf090 Caliper: Add variorum variant (#39104) 2023-07-26 19:22:36 -04:00
Gerhard Theurich
288b3c3ec2 esmf: add v8.5.0 (#39100) 2023-07-26 16:08:03 -07:00
David Boehme
31bb259a12 Add Caliper v2.10.0 (#39103) 2023-07-26 16:05:08 -07:00
Konstantinos Parasyris
a74dd96773 Adds AMS package.py (#39083)
Co-authored-by: koparasy <parasyris1@llnl.com>
Co-authored-by: Loic Pottier <pottier1@llnl.gov>, Tom Stitt <stitt4@llnl.gov>
2023-07-26 15:59:38 -07:00
Matthieu Dorier
9594fb47e1 mruby: added mruby package (#39093)
* mruby: added mruby package
* mruby: replaced / with os.path.join
* mruby: improving style
* mruby: improving style again
2023-07-26 10:06:16 -07:00
Matt Drozt
62cfe1ab47 Create a package for the redis ai module (#39096) 2023-07-26 12:58:25 -04:00
Rob Falgout
8c417b3ccc Update package.py for new hypre release 2.29.0 (#38537) 2023-07-26 11:57:30 -05:00
Gurkirat Singh
52c0127fc7 Implement odgi package (#39078)
* feature (packages): implement `odgi` package
  This commit re-implements odgi package (superseded by #38741)
* fix (packages): remove redundant `requires()` from odgi package
  This commit removes redundant use of `requires()` for gcc version in the `odgi` package
2023-07-26 09:38:41 -07:00
Scott Wittenburg
2c74b433aa ci: Make signing requirement explicit (#38995)
Instead of inferring whether to sign binaries, make it explicit,
and fail rebuild jobs early if signing is required but cannot be
accomplished.
2023-07-26 09:16:15 -06:00
Aiden Grossman
8bdfaf4ae5 libelf: fix build with clang16+ (#38915)
libelf fails to build with clang16+ due to Wimplicit-int and
Wimplicit-function-declarations becoming errors by default. This breaks
the configuration stage, so no build takes place. This patch fixes this
by passing -Wno-error=implicit-int and
-Wno-error=implicit-function-declarations as cflags.
2023-07-26 16:46:37 +02:00
Aiden Grossman
eb19f59fb1 llvm: remove build type comment (#39087)
The message is now outdated after
https://github.com/spack/spack/pull/36679 which could lead to some
confusion.
2023-07-26 16:39:10 +02:00
Aiden Grossman
856834537a gcoff: fix build with clang 16+ (#38914)
gcoff uses the register keyword in a couple different places which
causes errors when building with c++17, which is the default in clang
16. This patch adds the -Wno-register flag to ignore these errors when
when building with clang 16.
2023-07-26 16:34:07 +02:00
Aiden Grossman
fba019f0be unzip: fix build with clang16+ (#38899)
Clang 16's change to erroring out by default on implicit function
declarations and implicit integers causes the build script for unzip to
break. Since this project hasn't had a release since 2010, we need to
patch it downstream/pass additional flags to get the build to succeed.
2023-07-26 16:33:48 +02:00
Aiden Grossman
cc0ac7093b hdf: fix build with clang16+ (#38888)
With the release of clang 16, clang now treats implicit function
declarations and implicit integers as errors rather than warnings,
causing the build to fail. This patch adds flags to prevent build
failures.
2023-07-26 16:29:37 +02:00
Mikael Simberg
711d67090a Add newer versions of mimalloc (#39091) 2023-07-26 13:42:24 +02:00
Ken Raffenetti
5ce667de6a mpich: add 4.1.2 release (#39084) 2023-07-26 00:02:55 -04:00
Michael Kuhn
a77e6ea639 pmix: add 4.2.4 and disable munge explicitly (#39018) 2023-07-25 11:00:35 -07:00
fpruvost
3a661803ce Update pastix v6.3.0 (#39076) 2023-07-25 09:23:44 -07:00
Alex Richert
c6ed2227f2 Add w3emc 2.10.0 and update variants, run env logic (#39075) 2023-07-25 09:22:03 -07:00
Bruno Turcksin
bd9f8ba094 Kokkos: add release 4.1.0 (#38641)
* Add Kokkos 4.1.0 release

* Add -fp-model=precise flag when using SYCL

* Fix sycl flag

Co-authored-by: Robert Cohn <rscohn2@gmail.com>

---------

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-07-24 17:02:56 -07:00
Satish Balay
c7b849bdee xsdk: remove version 0.6.0, also remove corresponding xsdk-examples@0.2.0 (#39000) 2023-07-24 16:24:56 -07:00
Sergey Kosukhin
3f4012cf44 netcdf-fortran: add version 4.6.1 and fix the checks (#39043)
* netcdf-fortran: add version 4.6.1
* netcdf-fortran: fix the 'check' method
2023-07-24 15:54:18 -07:00
Alec Scott
e3b2e5b2cd bfs: add new package (#39057)
* bfs: add new package
* Remove redundant set to PREFIX during build
2023-07-24 15:50:27 -07:00
Matthieu Dorier
b2ed10dd83 quickjs: make Makefile use correct compiler (#39060)
* quickjs: make Makefile use correct compiler
* added lto variant and better handling of compilers
* quickjs: correct style
* quickjs: correct style for flake8
2023-07-24 15:45:21 -07:00
ajpowelsnl
1c3dc0bd5f openmpi: add openshmem variant (#39067) 2023-07-24 15:38:38 -07:00
Briffou
f28a2ccee2 mgis: add new variant for static libraries (#38917)
Co-authored-by: Thomas Briffard <thomas.briffard@michelin.com>
2023-07-24 15:34:31 -07:00
Scott Wittenburg
12d86ffb6a ci: fix stack mirror urls (#38882) 2023-07-24 20:20:08 +00:00
eugeneswalker
fde1954c13 mvapich2@2.3.7-1: add torque patch (#39027) 2023-07-24 12:56:32 -07:00
Jonathon Anderson
3ad65bbfc1 Always set workflow:rules in spack ci pipelines (#38921) 2023-07-24 14:31:39 -05:00
Chris White
f017f586df add conflict for +parmetis when ~mpi (#39050) 2023-07-24 10:54:18 -07:00
Ashwin Kumar Karnad
399271832b Fix typo: binary_caches.rst (#39064) 2023-07-24 15:09:34 +02:00
Harmen Stoppels
4bcceddba9 Don't add .spack/binary_distribution twice to the tarball when re-distributing (#39042)
Previously, spack would list the ./spack/binary_distribution file twice when pushing
a package that was installed from a binary tarball itself.
2023-07-24 14:39:37 +02:00
Harmen Stoppels
0fff219aa4 Fix broken sanitize_file_path (#38926)
The sanitization function is completely bogus as it tries to replace /
on unix after ... splitting on it. The way it's implemented is very
questionable: the input is a file name, not a path. It doesn't make
sense to interpret the input as a path and then make the components
valid -- you'll interpret / in a filename as a dir separator.

It also fails to deal with path components that contain just unsupported
characters (resulting in empty component).

The correct way to deal with this is to have a function that takes a
potential file name and replaces unsupported characters.

I'm not going to fix the other issues on Windows, such as reserved file
names, but left a note, and hope that @johnwparent can fix that
separately.

(Obviously we wouldn't have this problem at all if we just fixed the
filename in a safe way instead of trying to derive something from
the url; we could use the content digest when available for example)
2023-07-24 12:30:47 +02:00
Mosè Giordano
ac3c0a4347 mvapich2: Add patch to avoid segmentation fault in MPIR_Attr_delete_list (#39058) 2023-07-22 21:44:15 -07:00
Adam Fidel
cc2fa9895e mtn: add mtn package (#39053) 2023-07-22 17:45:54 -07:00
113 changed files with 1539 additions and 540 deletions

View File

@@ -143,7 +143,7 @@ and then install from it exclusively, you would do:
$ spack mirror add E4S https://cache.e4s.io
$ spack buildcache keys --install --trust
$ spack install --use-buildache only <package>
$ spack install --use-buildcache only <package>
We use ``--install`` and ``--trust`` to say that we are installing keys to our
keyring, and trusting all downloaded keys.

View File

@@ -1208,9 +1208,17 @@ def tar_add_metadata(tar: tarfile.TarFile, path: str, data: dict):
tar.addfile(deterministic_tarinfo(tarinfo), io.BytesIO(bstring))
def _do_create_tarball(tarfile_path, binaries_dir, pkg_dir, buildinfo):
def deterministic_tarinfo_without_buildinfo(tarinfo: tarfile.TarInfo):
"""Skip buildinfo file when creating a tarball, and normalize other tarinfo fields."""
if tarinfo.name.endswith("/.spack/binary_distribution"):
return None
return deterministic_tarinfo(tarinfo)
def _do_create_tarball(tarfile_path: str, binaries_dir: str, pkg_dir: str, buildinfo: dict):
with gzip_compressed_tarfile(tarfile_path) as tar:
tar.add(name=binaries_dir, arcname=pkg_dir, filter=deterministic_tarinfo)
tar.add(name=binaries_dir, arcname=pkg_dir, filter=deterministic_tarinfo_without_buildinfo)
tar_add_metadata(tar, buildinfo_file_name(pkg_dir), buildinfo)

View File

@@ -1278,6 +1278,7 @@ def main_script_replacements(cmd):
"SPACK_CI_SHARED_PR_MIRROR_URL": shared_pr_mirror or "None",
"SPACK_REBUILD_CHECK_UP_TO_DATE": str(prune_dag),
"SPACK_REBUILD_EVERYTHING": str(rebuild_everything),
"SPACK_REQUIRE_SIGNING": os.environ.get("SPACK_REQUIRE_SIGNING", "False"),
}
if remote_mirror_override:
@@ -1287,9 +1288,6 @@ def main_script_replacements(cmd):
if spack_stack_name:
output_object["variables"]["SPACK_CI_STACK_NAME"] = spack_stack_name
# Ensure the child pipeline always runs
output_object["workflow"] = {"rules": [{"when": "always"}]}
if spack_buildcache_copy:
# Write out the file describing specs that should be copied
copy_specs_dir = os.path.join(pipeline_artifacts_dir, "specs_to_copy")
@@ -1305,21 +1303,17 @@ def main_script_replacements(cmd):
with open(copy_specs_file, "w") as fd:
fd.write(json.dumps(buildcache_copies))
sorted_output = {}
for output_key, output_value in sorted(output_object.items()):
sorted_output[output_key] = output_value
# TODO(opadron): remove this or refactor
if run_optimizer:
import spack.ci_optimization as ci_opt
sorted_output = ci_opt.optimizer(sorted_output)
output_object = ci_opt.optimizer(output_object)
# TODO(opadron): remove this or refactor
if use_dependencies:
import spack.ci_needs_workaround as cinw
sorted_output = cinw.needs_to_dependencies(sorted_output)
output_object = cinw.needs_to_dependencies(output_object)
else:
# No jobs were generated
noop_job = spack_ci_ir["jobs"]["noop"]["attributes"]
@@ -1330,10 +1324,17 @@ def main_script_replacements(cmd):
noop_job["script"] = [
'echo "copy-only pipelines are not supported with deprecated ci configs"'
]
sorted_output = {"unsupported-copy": noop_job}
output_object = {"unsupported-copy": noop_job}
else:
tty.debug("No specs to rebuild, generating no-op job")
sorted_output = {"no-specs-to-rebuild": noop_job}
output_object = {"no-specs-to-rebuild": noop_job}
# Ensure the child pipeline always runs
output_object["workflow"] = {"rules": [{"when": "always"}]}
sorted_output = {}
for output_key, output_value in sorted(output_object.items()):
sorted_output[output_key] = output_value
if known_broken_specs_encountered:
tty.error("This pipeline generated hashes known to be broken on develop:")
@@ -1957,9 +1958,9 @@ def process_command(name, commands, repro_dir):
def create_buildcache(
input_spec: spack.spec.Spec,
*,
pr_pipeline: bool,
pipeline_mirror_url: Optional[str] = None,
buildcache_mirror_url: Optional[str] = None,
sign_binaries: bool = False,
) -> List[PushResult]:
"""Create the buildcache at the provided mirror(s).
@@ -1967,12 +1968,10 @@ def create_buildcache(
input_spec: Installed spec to package and push
buildcache_mirror_url: URL for the buildcache mirror
pipeline_mirror_url: URL for the pipeline mirror
pr_pipeline: True if the CI job is for a PR
sign_binaries: Whether or not to sign buildcache entry
Returns: A list of PushResults, indicating success or failure.
"""
sign_binaries = pr_pipeline is False and can_sign_binaries()
results = []
# Create buildcache in either the main remote mirror, or in the

View File

@@ -18,6 +18,7 @@
import spack.environment as ev
import spack.hash_types as ht
import spack.mirror
import spack.util.gpg as gpg_util
import spack.util.url as url_util
import spack.util.web as web_util
@@ -270,6 +271,13 @@ def ci_rebuild(args):
spack_ci_stack_name = os.environ.get("SPACK_CI_STACK_NAME")
shared_pr_mirror_url = os.environ.get("SPACK_CI_SHARED_PR_MIRROR_URL")
rebuild_everything = os.environ.get("SPACK_REBUILD_EVERYTHING")
require_signing = os.environ.get("SPACK_REQUIRE_SIGNING")
# Fail early if signing is required but we don't have a signing key
sign_binaries = require_signing is not None and require_signing.lower() == "true"
if sign_binaries and not spack_ci.can_sign_binaries():
gpg_util.list(False, True)
tty.die("SPACK_REQUIRE_SIGNING=True => spack must have exactly one signing key")
# Construct absolute paths relative to current $CI_PROJECT_DIR
ci_project_dir = os.environ.get("CI_PROJECT_DIR")
@@ -655,7 +663,7 @@ def ci_rebuild(args):
input_spec=job_spec,
buildcache_mirror_url=buildcache_mirror_url,
pipeline_mirror_url=pipeline_mirror_url,
pr_pipeline=spack_is_pr_pipeline,
sign_binaries=sign_binaries,
):
msg = tty.msg if result.success else tty.warn
msg(

View File

@@ -387,8 +387,7 @@ def expected_archive_files(self):
expanded = True
if isinstance(self.default_fetcher, fs.URLFetchStrategy):
expanded = self.default_fetcher.expand_archive
clean_url = os.path.basename(sup.sanitize_file_path(self.default_fetcher.url))
fnames.append(clean_url)
fnames.append(url_util.default_download_filename(self.default_fetcher.url))
if self.mirror_paths:
fnames.extend(os.path.basename(x) for x in self.mirror_paths)

View File

@@ -28,6 +28,7 @@
import spack.repo
import spack.store
import spack.util.gpg
import spack.util.spack_yaml as syaml
import spack.util.url as url_util
import spack.util.web as web_util
from spack.binary_distribution import get_buildfile_manifest
@@ -856,6 +857,39 @@ def urlopen(request: urllib.request.Request):
fetcher.conditional_fetch()
def test_tarball_doesnt_include_buildinfo_twice(tmpdir):
"""When tarballing a package that was installed from a buildcache, make
sure that the buildinfo file is not included twice in the tarball."""
p = tmpdir.mkdir("prefix")
p.mkdir(".spack")
# Create a binary_distribution file in the .spack folder
with open(p.join(".spack", "binary_distribution"), "w") as f:
f.write(syaml.dump({"metadata", "old"}))
# Now create a tarball, which should include a new binary_distribution file
tarball = str(tmpdir.join("prefix.tar.gz"))
bindist._do_create_tarball(
tarfile_path=tarball,
binaries_dir=str(p),
pkg_dir="my-pkg-prefix",
buildinfo={"metadata": "new"},
)
# Verify we don't have a repeated binary_distribution file,
# and that the tarball contains the new one, not the old one.
with tarfile.open(tarball) as tar:
assert syaml.load(tar.extractfile("my-pkg-prefix/.spack/binary_distribution")) == {
"metadata": "new"
}
assert tar.getnames() == [
"my-pkg-prefix",
"my-pkg-prefix/.spack",
"my-pkg-prefix/.spack/binary_distribution",
]
def test_reproducible_tarball_is_reproducible(tmpdir):
p = tmpdir.mkdir("prefix")
p.mkdir("bin")

View File

@@ -457,7 +457,6 @@ def test_ci_create_buildcache(tmpdir, working_env, config, mock_packages, monkey
results = ci.create_buildcache(
None,
pr_pipeline=True,
buildcache_mirror_url="file:///fake-url-one",
pipeline_mirror_url="file:///fake-url-two",
)
@@ -469,9 +468,7 @@ def test_ci_create_buildcache(tmpdir, working_env, config, mock_packages, monkey
assert result2.success
assert result2.url == "file:///fake-url-two"
results = ci.create_buildcache(
None, pr_pipeline=True, buildcache_mirror_url="file:///fake-url-one"
)
results = ci.create_buildcache(None, buildcache_mirror_url="file:///fake-url-one")
assert len(results) == 1
assert results[0].success

View File

@@ -215,6 +215,10 @@ def test_ci_generate_with_env(
with open(outputfile) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
assert "workflow" in yaml_contents
assert "rules" in yaml_contents["workflow"]
assert yaml_contents["workflow"]["rules"] == [{"when": "always"}]
assert "stages" in yaml_contents
assert len(yaml_contents["stages"]) == 5
assert yaml_contents["stages"][0] == "stage-0"
@@ -856,6 +860,43 @@ def mystrip(s):
env_cmd("deactivate")
def test_ci_require_signing(
tmpdir, working_env, mutable_mock_env_path, mock_gnupghome, ci_base_environment
):
spack_yaml_contents = """
spack:
specs:
- archive-files
mirrors:
test-mirror: file:///no-such-mirror
ci:
pipeline-gen:
- submapping:
- match:
- archive-files
build-job:
tags:
- donotcare
image: donotcare
"""
filename = str(tmpdir.join("spack.yaml"))
with open(filename, "w") as f:
f.write(spack_yaml_contents)
with tmpdir.as_cwd():
env_cmd("activate", "--without-view", "--sh", "-d", ".")
# Run without the variable to make sure we don't accidentally require signing
output = ci_cmd("rebuild", output=str, fail_on_error=False)
assert "spack must have exactly one signing key" not in output
# Now run with the variable to make sure it works
os.environ.update({"SPACK_REQUIRE_SIGNING": "True"})
output = ci_cmd("rebuild", output=str, fail_on_error=False)
assert "spack must have exactly one signing key" in output
def test_ci_nothing_to_rebuild(
tmpdir,
working_env,
@@ -1102,9 +1143,9 @@ def test_push_mirror_contents(
with open(outputfile_pruned) as f:
contents = f.read()
yaml_contents = syaml.load(contents)
assert "no-specs-to-rebuild" in yaml_contents
# Make sure there are no other spec jobs or rebuild-index
assert len(yaml_contents.keys()) == 1
assert set(yaml_contents.keys()) == {"no-specs-to-rebuild", "workflow"}
the_elt = yaml_contents["no-specs-to-rebuild"]
assert "tags" in the_elt
assert "nonbuildtag" in the_elt["tags"]
@@ -1112,6 +1153,9 @@ def test_push_mirror_contents(
assert the_elt["image"] == "basicimage"
assert the_elt["custom_attribute"] == "custom!"
assert "rules" in yaml_contents["workflow"]
assert yaml_contents["workflow"]["rules"] == [{"when": "always"}]
outputfile_not_pruned = str(tmpdir.join("unpruned_pipeline.yml"))
ci_cmd("generate", "--no-prune-dag", "--output-file", outputfile_not_pruned)

View File

@@ -29,15 +29,13 @@
]
def test_sanitze_file_path(tmpdir):
"""Test filtering illegal characters out of potential file paths"""
# *nix illegal files characters are '/' and none others
illegal_file_path = str(tmpdir) + "//" + "abcdefghi.txt"
def test_sanitize_filename():
"""Test filtering illegal characters out of potential filenames"""
sanitized = sup.sanitize_filename("""a<b>cd/?e:f"g|h*i.\0txt""")
if sys.platform == "win32":
# Windows has a larger set of illegal characters
illegal_file_path = os.path.join(tmpdir, 'a<b>cd?e:f"g|h*i.txt')
real_path = sup.sanitize_file_path(illegal_file_path)
assert real_path == os.path.join(str(tmpdir), "abcdefghi.txt")
assert sanitized == "a_b_cd__e_f_g_h_i._txt"
else:
assert sanitized == """a<b>cd_?e:f"g|h*i._txt"""
# This class pertains to path string padding manipulation specifically

View File

@@ -10,6 +10,7 @@
import pytest
import spack.util.path
import spack.util.url as url_util
@@ -278,3 +279,16 @@ def test_git_url_parse(url, parts):
url_util.parse_git_url(url)
else:
assert parts == url_util.parse_git_url(url)
def test_default_download_name():
url = "https://example.com:1234/path/to/file.txt;params?abc=def#file=blob.tar"
filename = url_util.default_download_filename(url)
assert filename == spack.util.path.sanitize_filename(filename)
def test_default_download_name_dot_dot():
"""Avoid that downloaded files get names computed as ., .. or any hidden file."""
assert url_util.default_download_filename("https://example.com/.") == "_"
assert url_util.default_download_filename("https://example.com/..") == "_."
assert url_util.default_download_filename("https://example.com/.abcdef") == "_abcdef"

View File

@@ -12,6 +12,7 @@
import spack.config
import spack.mirror
import spack.paths
import spack.util.path
import spack.util.s3
import spack.util.url as url_util
import spack.util.web

View File

@@ -132,40 +132,26 @@ def path_to_os_path(*pths):
return ret_pths
def sanitize_file_path(pth):
def sanitize_filename(filename: str) -> str:
"""
Formats strings to contain only characters that can
be used to generate legal file paths.
Replaces unsupported characters (for the host) in a filename with underscores.
Criteria for legal files based on
https://en.wikipedia.org/wiki/Filename#Comparison_of_filename_limitations
Args:
pth: string containing path to be created
on the host filesystem
filename: string containing filename to be created on the host filesystem
Return:
sanitized string that can legally be made into a path
filename that can be created on the host filesystem
"""
# on unix, splitting path by seperators will remove
# instances of illegal characters on join
pth_cmpnts = pth.split(os.path.sep)
if sys.platform != "win32":
# Only disallow null bytes and directory separators.
return re.sub("[\0/]", "_", filename)
if sys.platform == "win32":
drive_match = r"[a-zA-Z]:"
is_abs = bool(re.match(drive_match, pth_cmpnts[0]))
drive = pth_cmpnts[0] + os.path.sep if is_abs else ""
pth_cmpnts = pth_cmpnts[1:] if drive else pth_cmpnts
illegal_chars = r'[<>?:"|*\\]'
else:
drive = "/" if not pth_cmpnts[0] else ""
illegal_chars = r"[/]"
pth = []
for cmp in pth_cmpnts:
san_cmp = re.sub(illegal_chars, "", cmp)
pth.append(san_cmp)
return drive + os.path.join(*pth)
# On Windows, things are more involved.
# NOTE: this is incomplete, missing reserved names
return re.sub(r'[\x00-\x1F\x7F"*/:<>?\\|]', "_", filename)
def system_path_filter(_func=None, arg_slice=None):

View File

@@ -15,7 +15,7 @@
import urllib.parse
import urllib.request
from spack.util.path import convert_to_posix_path
from spack.util.path import convert_to_posix_path, sanitize_filename
def validate_scheme(scheme):
@@ -294,3 +294,22 @@ def parse_git_url(url):
raise ValueError("bad port in git url: %s" % url)
return (scheme, user, hostname, port, path)
def default_download_filename(url: str) -> str:
"""This method computes a default file name for a given URL.
Note that it makes no request, so this is not the same as the
option curl -O, which uses the remote file name from the response
header."""
parsed_url = urllib.parse.urlparse(url)
# Only use the last path component + params + query + fragment
name = urllib.parse.urlunparse(
parsed_url._replace(scheme="", netloc="", path=posixpath.basename(parsed_url.path))
)
valid_name = sanitize_filename(name)
# Don't download to hidden files please
if valid_name[0] == ".":
valid_name = "_" + valid_name[1:]
return valid_name

View File

@@ -67,6 +67,7 @@ default:
variables:
SPACK_PIPELINE_TYPE: "spack_protected_branch"
SPACK_COPY_BUILDCACHE: "s3://spack-binaries/${CI_COMMIT_REF_NAME}"
SPACK_REQUIRE_SIGNING: "True"
AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY}
- if: $CI_COMMIT_REF_NAME =~ /^releases\/v.*/
@@ -77,6 +78,7 @@ default:
SPACK_COPY_BUILDCACHE: "s3://spack-binaries/${CI_COMMIT_REF_NAME}"
SPACK_PRUNE_UNTOUCHED: "False"
SPACK_PRUNE_UP_TO_DATE: "False"
SPACK_REQUIRE_SIGNING: "True"
AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY}
- if: $CI_COMMIT_TAG =~ /^develop-[\d]{4}-[\d]{2}-[\d]{2}$/ || $CI_COMMIT_TAG =~ /^v.*/
@@ -255,6 +257,11 @@ protected-publish:
# you should inlclude your custom definitions at the end of the of the
# extends list.
#
# Also note that if extending .base-job, the mirror url given in your
# spack.yaml should take the form:
#
# s3://spack-binaries/develop/${SPACK_CI_STACK_NAME}
#
########################################
# My Super Cool Pipeline
########################################
@@ -792,6 +799,7 @@ deprecated-ci-build:
when: always
variables:
SPACK_PIPELINE_TYPE: "spack_protected_branch"
SPACK_REQUIRE_SIGNING: "True"
- if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/
# Pipelines on PR branches rebuild only what's missing, and do extra pruning
when: always

View File

@@ -92,7 +92,7 @@ spack:
# - py-vector-quantize-pytorch # py-torch
# - r-xgboost # r
mirrors: { "mirror": "s3://spack-binaries/develop/ml-darwin-aarch64-cpu" }
mirrors: { "mirror": "s3://spack-binaries/develop/ml-darwin-aarch64-mps" }
ci:
pipeline-gen:

View File

@@ -137,6 +137,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
depends_on("cmake@3.22:", type="build", when="+sycl")
depends_on("hdf5@1.10.4: +mpi", when="+hdf5")
depends_on("rocrand", type="build", when="+rocm")
depends_on("hiprand", type="build", when="+rocm")
depends_on("rocprim", type="build", when="@21.05: +rocm")
depends_on("hypre@2.18.2:", type="link", when="@:21.02 +hypre")
depends_on("hypre@2.19.0:", type="link", when="@21.03: ~cuda +hypre")

View File

@@ -0,0 +1,148 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Ams(CMakePackage, CudaPackage):
"""AMS Autonomous Multiscale Framework."""
homepage = "https://github.com/LLNL/AMS"
git = "git@github.com:LLNL/AMS.git"
maintainers("koparasy", "lpottier")
version("develop", branch="develop", submodules=False)
version("07.25.23-alpha", tag="07.25.23-alpha", submodules=False)
variant(
"faiss",
default=False,
description="Build with FAISS index as uncertainty quantification module",
)
variant(
"caliper", default=False, description="Build with caliper for gather performance counters"
)
variant("torch", default=False, description="Use torch for surrogate models")
variant("mpi", default=False, description="Enable MPI support")
variant("examples", default=False, description="Enable examples")
variant("redis", default=False, description="Enable redis database")
variant("hdf5", default=False, description="Enable HDF5 data storage")
variant("rabbitmq", default=False, description="Enable RabbitMQ as data broker")
variant(
"verbose",
default=False,
description="Enable AMSLib verbose output (controlled by environment variable)",
)
depends_on("umpire")
depends_on("mpi", when="+mpi")
depends_on("caliper+cuda", when="+caliper +cuda")
depends_on("faiss+cuda", when="+faiss +cuda")
depends_on("mfem+cuda", when="+examples +cuda")
depends_on("py-torch+cuda", when="+torch +cuda")
depends_on("py-torch~cuda", when="+torch ~cuda")
depends_on("caliper ~cuda", when="+caliper ~cuda")
depends_on("faiss ~cuda", when="+faiss ~cuda")
depends_on("mfem ~cuda", when="+examples ~cuda")
depends_on("redis-plus-plus", when="+redis")
depends_on("hdf5", when="+hdf5")
depends_on("amqp-cpp +tcp", when="+rabbitmq")
with when("+cuda"):
cuda_archs = CudaPackage.cuda_arch_values
with when("+examples"):
depends_on("mfem+cuda")
for sm_ in cuda_archs:
depends_on(
"mfem +cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_)
)
with when("+torch"):
depends_on("py-torch+cuda")
for sm_ in cuda_archs:
depends_on(
"py-torch +cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_)
)
with when("+caliper"):
depends_on("caliper+cuda", when="+caliper")
for sm_ in cuda_archs:
depends_on(
"caliper +cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_)
)
depends_on("umpire+cuda")
for sm_ in cuda_archs:
depends_on("umpire +cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_))
with when("+faiss"):
depends_on("faiss+cuda", when="+faiss")
for sm_ in cuda_archs:
depends_on(
"umpire +cuda cuda_arch={0}".format(sm_), when="cuda_arch={0}".format(sm_)
)
def cmake_args(self):
spec = self.spec
args = []
args.append("-DUMPIRE_DIR={0}".format(spec["umpire"].prefix))
args.append("-DWITH_MPI={0}".format("On" if "+mpi" in spec else "Off"))
args.append(
"-DWITH_DB={0}".format(
"On" if ("+redis" in spec or "hdf5" in spec or "+rabbitmq" in spec) else "Off"
)
)
if "+verbose" in spec:
args.append("-DWITH_AMS_DEBUG=On")
if "+hdf5" in spec:
args.append("-DWITH_HDF5=On")
args.append("-DHDF5_Dir={0}".format(spec["hdf5"].prefix))
if "+cuda" in spec:
args.append("-DWITH_CUDA=On")
cuda_arch = spec.variants["cuda_arch"].value[0]
args.append("-DAMS_CUDA_ARCH={0}".format(cuda_arch))
if "+caliper" in spec:
args.append("-DWITH_CALIPER=On")
args.append("-DCALIPER_DIR={0}/share/cmake/caliper".format(spec["caliper"].prefix))
else:
args.append("-DWITH_CALIPER=Off")
if "+faiss" in spec:
args.append("-DWITH_FAISS=On")
args.append("-DFAISS_DIR={0}".format(spec["faiss"].prefix))
else:
args.append("-DWITH_FAISS=Off")
if "+torch" in spec:
args.append("-DWITH_TORCH=On")
args.append(
"-DTorch_DIR={0}/lib/python{1}/site-packages"
"/torch/share/cmake/Torch".format(
spec["py-torch"].prefix, spec["python"].version.up_to(2)
)
)
if "+redis" in spec:
args.append("-DWITH_REDIS=On")
args.append("-DREDIS_PLUS_PLUS_DIR={0}".format(spec["redis-plus-plus"].prefix))
if "+rabbitmq" in spec:
args.append("-DWITH_RMQ=On")
args.append("-Damqpcpp_DIR={0}/cmake".format(spec["amqp-cpp"].prefix))
if "+examples" in spec:
args.append("-DWITH_EXAMPLES=On")
args.append("-DMFEM_DIR={0}".format(spec["mfem"].prefix))
return args

View File

@@ -15,11 +15,12 @@ class Atmi(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/atmi"
git = "https://github.com/RadeonOpenCompute/atmi.git"
url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/atmi/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("5.5.1", sha256="6b3ee68433506315b55d093a4b47463916874fb6f3f602098eaff2ec283e69ab")
version("5.5.0", sha256="b8bfd32e5c386f5169da62172964343f9b7fad207e0e74dd1093c7acf06d9811")
version("5.4.3", sha256="243aae6614e5bd136a099102957a6d65a01434b620291349613ad63701868ef8")
version("5.4.0", sha256="b5cce10d7099fecbb40a0d9c2f29a7675315471fe145212b375e37e4c8ba5618")
version("5.3.3", sha256="cc1144e4939cea2944f6c72a21406b9dc5b56d933696494074c280df7469834a")
@@ -100,13 +101,6 @@ class Atmi(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("rsync")
@@ -134,11 +128,16 @@ class Atmi(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("comgr@" + ver, type="link", when="@" + ver)
depends_on("hsa-rocr-dev@" + ver, type="link", when="@" + ver)
depends_on("elf", type="link", when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
root_cmakelists_dir = "src"
patch("0001-Remove-relative-link-paths-to-external-libraries.patch", when="@3.5.0")

View File

@@ -0,0 +1,25 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Bfs(MakefilePackage):
"""A breadth-first version of the UNIX find command."""
homepage = "https://github.com/tavianator/bfs"
url = "https://github.com/tavianator/bfs/archive/refs/tags/3.0.1.tar.gz"
maintainers("alecbcs")
version("3.0.1", sha256="a38bb704201ed29f4e0b989fb2ab3791ca51c3eff90acfc31fff424579bbf962")
depends_on("acl", when="platform=linux")
depends_on("attr", when="platform=linux")
depends_on("libcap", when="platform=linux")
depends_on("oniguruma")
def install(self, spec, prefix):
make("install", f"PREFIX={prefix}")

View File

@@ -18,7 +18,7 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/LLNL/Caliper"
git = "https://github.com/LLNL/Caliper.git"
url = "https://github.com/LLNL/Caliper/archive/v2.9.0.tar.gz"
url = "https://github.com/LLNL/Caliper/archive/v2.10.0.tar.gz"
tags = ["e4s", "radiuss"]
maintainers("daboehme")
@@ -26,6 +26,7 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
test_requires_compiler = True
version("master", branch="master")
version("2.10.0", sha256="14c4fb5edd5e67808d581523b4f8f05ace8549698c0e90d84b53171a77f58565")
version("2.9.0", sha256="507ea74be64a2dfd111b292c24c4f55f459257528ba51a5242313fa50978371f")
version("2.8.0", sha256="17807b364b5ac4b05997ead41bd173e773f9a26ff573ff2fe61e0e70eab496e4")
version("2.7.0", sha256="b3bf290ec2692284c6b4f54cc0c507b5700c536571d3e1a66e56626618024b2b")
@@ -58,6 +59,7 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
variant("sampler", default=is_linux, description="Enable sampling support on Linux")
variant("sosflow", default=False, description="Enable SOSflow support")
variant("fortran", default=False, description="Enable Fortran support")
variant("variorum", default=False, description="Enable Variorum support")
depends_on("adiak@0.1:0", when="@2.2: +adiak")
@@ -69,6 +71,7 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
depends_on("mpi", when="+mpi")
depends_on("unwind@1.2:1", when="+libunwind")
depends_on("elfutils", when="+libdw")
depends_on("variorum", when="+variorum")
depends_on("sosflow@spack", when="@1.0:1+sosflow")
@@ -106,6 +109,7 @@ def cmake_args(self):
self.define_from_variant("WITH_NVTX", "cuda"),
self.define_from_variant("WITH_ROCTRACER", "rocm"),
self.define_from_variant("WITH_ROCTX", "rocm"),
self.define_from_variant("WITH_VARIORUM", "variorum"),
]
if "+papi" in spec:
@@ -116,6 +120,8 @@ def cmake_args(self):
args.append("-DLIBPFM_INSTALL=%s" % spec["libpfm4"].prefix)
if "+sosflow" in spec:
args.append("-DSOS_PREFIX=%s" % spec["sosflow"].prefix)
if "+variorum" in spec:
args.append("-DVARIORUM_PREFIX=%s" % spec["variorum"].prefix)
# -DWITH_CALLPATH was renamed -DWITH_LIBUNWIND in 2.5
callpath_flag = "LIBUNWIND" if spec.satisfies("@2.5:") else "CALLPATH"

View File

@@ -14,14 +14,15 @@ class Comgr(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport"
git = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git"
url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
libraries = ["libamd_comgr"]
version("master", branch="amd-stg-open")
version("5.5.1", sha256="0fbb15fe5a95c2e141ccd360bc413e1feda283334781540a6e5095ab27fd8019")
version("5.5.0", sha256="97dfff03226ce0902b9d5d1c8c7bebb7a15978a81b6e9c750bf2d2473890bd42")
version("5.4.3", sha256="8af18035550977fe0aa9cca8dfacbe65fe292e971de5a0e160710bafda05a81f")
version("5.4.0", sha256="f4b83b27ff6195679d695c3f41fa25456e9c50bae6d978f46d3541b472aef757")
version("5.3.3", sha256="6a4ef69e672a077b5909977248445f0eedf5e124af9812993a4d444be030c78b")
@@ -102,13 +103,6 @@ class Comgr(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
# Disable the hip compile tests. Spack should not be using
# /opt/rocm, and this breaks the build when /opt/rocm exists.
patch("hip-tests.patch", when="@:4.2.0")
@@ -146,6 +140,8 @@ class Comgr(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
# llvm libs are linked statically, so this *could* be a build dep
@@ -157,6 +153,9 @@ class Comgr(CMakePackage):
"rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver)
)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
root_cmakelists_dir = join_path("lib", "comgr")
def cmake_args(self):

View File

@@ -184,6 +184,8 @@ class Conduit(CMakePackage):
depends_on("py-sphinx-rtd-theme", when="+python+doc", type="build")
depends_on("doxygen", when="+doc+doxygen")
conflicts("+parmetis", when="~mpi", msg="Parmetis support requires MPI")
# Tentative patch for fj compiler
# Cmake will support fj compiler and this patch will be removed
patch("fj_flags.patch", when="%fj")

View File

@@ -29,6 +29,7 @@ class Esmf(MakefilePackage):
# Develop is a special name for spack and is always considered the newest version
version("develop", branch="develop")
# generate chksum with spack checksum esmf@x.y.z
version("8.5.0", sha256="acd0b2641587007cc3ca318427f47b9cae5bfd2da8d2a16ea778f637107c29c4")
version("8.4.2", sha256="969304efa518c7859567fa6e65efd960df2b4f6d72dbf2c3f29e39e4ab5ae594")
version("8.4.1", sha256="1b54cee91aacaa9df400bd284614cbb0257e175f6f3ec9977a2d991ed8aa1af6")
version(

View File

@@ -35,6 +35,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
version("master", branch="master")
version("13.2.0", sha256="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da")
version("13.1.0", sha256="61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86")
version("12.3.0", sha256="949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b")

View File

@@ -50,6 +50,8 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
depends_on("hipsparse", when="+rocm")
depends_on("hipblas", when="+rocm")
depends_on("rocrand", when="+rocm")
depends_on("hiprand", when="+rocm")
depends_on("hipfft", when="+rocm")
# ROCPRIM is not a direct dependency, but until we have reviewed our CMake
# setup for rocthrust, this needs to also be added here.
depends_on("rocprim", when="+rocm")

View File

@@ -88,3 +88,9 @@ def setup_run_environment(self, env):
if self.spec.satisfies("+x"):
dir = join_path(self.prefix.lib, "X11", "app-defaults")
env.set_path("XFILESEARCHPATH", dir)
def flag_handler(self, name, flags):
if name == "cxxflags":
if self.spec.satisfies("%clang@16:"):
flags.append("-Wno-register")
return (flags, None, None)

View File

@@ -12,7 +12,11 @@ class Grpc(CMakePackage):
homepage = "https://grpc.io"
url = "https://github.com/grpc/grpc/archive/v1.39.0.tar.gz"
version("1.55.0", sha256="9cf1a69a921534ac0b760dcbefb900f3c2f735f56070bf0536506913bb5bfd74")
version("1.50.0", sha256="76900ab068da86378395a8e125b5cc43dfae671e09ff6462ddfef18676e2165a")
version("1.47.0", sha256="271bdc890bf329a8de5b65819f0f9590a5381402429bca37625b63546ed19e54")
version("1.46.0", sha256="67423a4cd706ce16a88d1549297023f0f9f0d695a96dd684adc21e67b021f9bc")
version("1.45.0", sha256="ec19657a677d49af59aa806ec299c070c882986c9fcc022b1c22c2a3caf01bcd")
version("1.44.0", sha256="8c05641b9f91cbc92f51cc4a5b3a226788d7a63f20af4ca7aaca50d92cc94a0d")
version("1.39.0", sha256="b16992aa1c949c10d5d5ce2a62f9d99fa7de77da2943e643fb66dcaf075826d6")
version("1.38.1", sha256="f60e5b112913bf776a22c16a3053cc02cf55e60bf27a959fd54d7aaf8e2da6e8")

View File

@@ -144,6 +144,14 @@ def flag_handler(self, name, flags):
elif name == "fflags":
flags.append(self.compiler.f77_pic_flag)
if name == "cflags":
# https://forum.hdfgroup.org/t/help-building-hdf4-with-clang-error-implicit-declaration-of-function-test-mgr-szip-is-invalid-in-c99/7680
if self.spec.satisfies("@:4.2.15 %apple-clang") or self.spec.satisfies("%clang@16:"):
flags.append("-Wno-error=implicit-function-declaration")
if self.spec.satisfies("%clang@16:"):
flags.append("-Wno-error=implicit-int")
return flags, None, None
def configure_args(self):
@@ -178,10 +186,6 @@ def configure_args(self):
["FFLAGS=-fallow-argument-mismatch", "FCFLAGS=-fallow-argument-mismatch"]
)
# https://forum.hdfgroup.org/t/help-building-hdf4-with-clang-error-implicit-declaration-of-function-test-mgr-szip-is-invalid-in-c99/7680
if self.spec.satisfies("@:4.2.15 %apple-clang"):
config_args.append("CFLAGS=-Wno-error=implicit-function-declaration")
return config_args
# Otherwise, we randomly get:

View File

@@ -27,7 +27,8 @@ def url_for_version(self, version):
return url.format(version)
version("master", branch="main")
version("5.5.1", sha256="1375fc7723cfaa0ae22a78682186d4804188b0a54990bfd9c0b8eb421b85e37e")
version("5.5.0", sha256="efbae9a1ef2ab3de5ca44091e9bb78522e76759c43524c1349114f9596cc61d1")
version("5.4.3", sha256="71d9668619ab57ec8a4564d11860438c5aad5bd161a3e58fbc49555fbd59182d")
version("5.4.0", sha256="46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138")
version("5.3.3", sha256="f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18")
@@ -108,13 +109,6 @@ def url_for_version(self, version):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("gl@4.5:", type="link")
depends_on("libelf", type="link", when="@3.7.0:3.8.0")
@@ -144,6 +138,8 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("hsakmt-roct@" + ver, when="@" + ver)
@@ -166,6 +162,8 @@ def url_for_version(self, version):
# Add opencl sources thru the below
for d_version, d_shasum in [
("5.5.1", "a8a62a7c6fc5398406d2203b8cb75621a24944688e545d917033d87de2724498"),
("5.5.0", "0df9fa0b8aa0c8e6711d34eec0fdf1ed356adcd9625bc8f1ce9b3e72090f3e4f"),
("5.4.3", "b0f8339c844a2e62773bd85cd1e7c5ecddfe71d7c8e8d604e1a1d60900c30873"),
("5.4.0", "a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7"),
("5.3.3", "cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f"),

View File

@@ -0,0 +1,58 @@
From 6df478bfeeb646ecabba503b8170ced65a5e74cf Mon Sep 17 00:00:00 2001
From: sreenivasa murthy kolam <sreenivasamurthy.kolam@amd.com>
Date: Mon, 22 May 2023 10:25:48 +0000
Subject: [PATCH] update the llvm-path and rocm-info path based on install
prefix for llvm-amdgpu and rocminfo;remove compiler rt builtin linkage for
host
---
bin/hipcc.pl | 10 +++++++---
hipamd/hip-config.cmake.in | 1 -
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/bin/hipcc.pl b/bin/hipcc.pl
index 2cd3752..2af14d2 100644
--- a/bin/hipcc.pl
+++ b/bin/hipcc.pl
@@ -170,11 +170,14 @@ if ($HIP_PLATFORM eq "amd") {
if($isWindows) {
$execExtension = ".exe";
}
- $HIPCC="$HIP_CLANG_PATH/clang++" . $execExtension;
+ # llvm_path is set inside the hip recipe
+ $LLVM_PATH= $ENV{'LLVM_PATH'};
+ $HIPCC="${LLVM_PATH}/bin/clang++" . $execExtension;
# If $HIPCC clang++ is not compiled, use clang instead
if ( ! -e $HIPCC ) {
- $HIPCC="$HIP_CLANG_PATH/clang" . $execExtension;
+ $LLVM_PATH= $ENV{'LLVM_PATH'};
+ $HIPCC="${LLVM_PATH}/bin/clang" . $execExtension;
$HIPLDFLAGS = "--driver-mode=g++";
}
# to avoid using dk linker or MSVC linker
@@ -493,7 +496,8 @@ if($HIP_PLATFORM eq "amd"){
$targetsStr = $ENV{HCC_AMDGPU_TARGET};
} elsif (not $isWindows) {
# Else try using rocm_agent_enumerator
- $ROCM_AGENT_ENUM = "${ROCM_PATH}/bin/rocm_agent_enumerator";
+ $ROCMINFO_PATH = $ENV{'ROCMINFO_PATH'} // $ROCMINFO_PATH;
+ $ROCM_AGENT_ENUM = "${ROCMINFO_PATH}/bin/rocm_agent_enumerator";
$targetsStr = `${ROCM_AGENT_ENUM} -t GPU`;
$targetsStr =~ s/\n/,/g;
}
diff --git a/hipamd/hip-config.cmake.in b/hipamd/hip-config.cmake.in
index 7c4fe7f..4f2dc19 100755
--- a/hipamd/hip-config.cmake.in
+++ b/hipamd/hip-config.cmake.in
@@ -253,7 +253,6 @@ if(HIP_COMPILER STREQUAL "clang")
# Add support for __fp16 and _Float16, explicitly link with compiler-rt
if( "${CLANGRT_BUILTINS_FETCH_EXIT_CODE}" STREQUAL "0" )
# CLANG_RT Builtins found Successfully Set interface link libraries property
- set_property(TARGET hip::host APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}")
set_property(TARGET hip::device APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${CLANGRT_BUILTINS}")
else()
message(STATUS "clangrt builtins lib not found: ${CLANGRT_BUILTINS_FETCH_EXIT_CODE}")
--
2.17.1

View File

@@ -18,14 +18,15 @@ class Hip(CMakePackage):
homepage = "https://github.com/ROCm-Developer-Tools/HIP"
git = "https://github.com/ROCm-Developer-Tools/HIP.git"
url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/HIP/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
libraries = ["libamdhip64"]
version("master", branch="master")
version("5.5.1", sha256="1f5f6bb72d8d64335ccc8242ef2e2ea8efeb380cce2997f475b1ee77528d9fb4")
version("5.5.0", sha256="5b0d0253e62f85cc21d043513f7c11c64e4a4ec416159668f0b160d732d09a3c")
version("5.4.3", sha256="23e51d3af517cd63019f8d199e46b84d5a18251d148e727f3985e8d99ccb0e58")
version("5.4.0", sha256="e290f835d69ef23e8b5833a7e616b0a989ff89ada4412d9742430819546efc6c")
version("5.3.3", sha256="51d4049dc37d261afb9e1270e60e112708ff06b470721ff21023e16e040e4403")
@@ -106,13 +107,6 @@ class Hip(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant("rocm", default=True, description="Enable ROCm support")
variant("cuda", default=False, description="Build with CUDA")
conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive")
@@ -164,6 +158,8 @@ class Hip(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hsakmt-roct@" + ver, when="@" + ver)
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
@@ -172,8 +168,11 @@ class Hip(CMakePackage):
depends_on("rocminfo@" + ver, when="@" + ver)
depends_on("roctracer-dev-api@" + ver, when="@" + ver)
for ver in ["5.4.0", "5.4.3"]:
for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1"]:
depends_on("hipify-clang", when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
# hipcc likes to add `-lnuma` by default :(
# ref https://github.com/ROCm-Developer-Tools/HIP/pull/2202
depends_on("numactl", when="@3.7.0:")
@@ -184,6 +183,8 @@ class Hip(CMakePackage):
# Add hip-amd sources thru the below
for d_version, d_shasum in [
("5.5.1", "9c8cb7611b3a496a0e9db92269143ee33b608eb69a8384957ace04e135ac90e9"),
("5.5.0", "bf87ed3919987c1a3a3f293418d26b65b3f02b97464e48f0cfcdd8f35763a0b7"),
("5.4.3", "475edce0f29c4ccd82e5ee21d4cce4836f2b1e3b13cbc891475e423d38a0ebb9"),
("5.4.0", "c4b79738eb6e669160382b6c47d738ac59bd493fc681ca400ff012a2e8212955"),
("5.3.3", "36acce92af39b0fa06002e164f5a7f5a9c7daa19bf96645361325775a325499d"),
@@ -211,6 +212,8 @@ class Hip(CMakePackage):
)
# Add opencl sources thru the below
for d_version, d_shasum in [
("5.5.1", "a8a62a7c6fc5398406d2203b8cb75621a24944688e545d917033d87de2724498"),
("5.5.0", "0df9fa0b8aa0c8e6711d34eec0fdf1ed356adcd9625bc8f1ce9b3e72090f3e4f"),
("5.4.3", "b0f8339c844a2e62773bd85cd1e7c5ecddfe71d7c8e8d604e1a1d60900c30873"),
("5.4.0", "a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7"),
("5.3.3", "cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f"),
@@ -237,6 +240,8 @@ class Hip(CMakePackage):
when="@{0}".format(d_version),
)
for d_version, d_shasum in [
("5.5.1", "1375fc7723cfaa0ae22a78682186d4804188b0a54990bfd9c0b8eb421b85e37e"),
("5.5.0", "efbae9a1ef2ab3de5ca44091e9bb78522e76759c43524c1349114f9596cc61d1"),
("5.4.3", "71d9668619ab57ec8a4564d11860438c5aad5bd161a3e58fbc49555fbd59182d"),
("5.4.0", "46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138"),
("5.3.3", "f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18"),
@@ -293,7 +298,7 @@ class Hip(CMakePackage):
".5.2.1.patch",
when="@5.2.1:5.2.3",
)
patch("0013-remove-compiler-rt-linkage-for-host.5.3.0.patch", when="@5.3.0:")
patch("0013-remove-compiler-rt-linkage-for-host.5.3.0.patch", when="@5.3.0:5.4")
# See https://github.com/ROCm-Developer-Tools/HIP/pull/2141
patch("0002-Fix-detection-of-HIP_CLANG_ROOT.patch", when="@:3.9.0")
@@ -325,6 +330,7 @@ class Hip(CMakePackage):
patch("Add_missing_open_cl_header_file_for_4.3.0.patch", when="@4.3.0:4.3.2")
patch("0014-hip-test-file-reorg-5.4.0.patch", when="@5.4.0:")
patch("0014-remove-compiler-rt-linkage-for-host.5.5.0.patch", when="@5.5")
# See https://github.com/ROCm-Developer-Tools/HIP/pull/3206
patch(

View File

@@ -14,7 +14,7 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipBLAS"
git = "https://github.com/ROCmSoftwarePlatform/hipBLAS.git"
url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipBLAS/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie")
@@ -22,7 +22,8 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="develop")
version("master", branch="master")
version("5.5.1", sha256="5920c9a9c83cf7e2b42d1f99f5d5091cac7f6c0a040a737e869e57b92d7045a9")
version("5.5.0", sha256="b080c25cb61531228d26badcdca856c46c640035c058bfc1c9f63de65f418cd5")
version("5.4.3", sha256="5acac147aafc15c249c2f24c19459135ed68b506403aa92e602b67cfc10c38b7")
version("5.4.0", sha256="341d61adff8d08cbf70aa07bd11a088bcd0687fc6156870a1aee9eff74f3eb4f")
version("5.3.3", sha256="1ce093fc6bc021ad4fe0b0b93f9501038a7a5a16b0fd4fc485d65cbd220a195e")
@@ -119,13 +120,6 @@ class Hipblas(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive")
conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required")
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.5:", type="build")
depends_on("googletest@1.10.0:", type="test")
@@ -170,6 +164,8 @@ def check(self):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
"develop",
]:

View File

@@ -11,11 +11,13 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipCUB"
git = "https://github.com/ROCmSoftwarePlatform/hipCUB.git"
url = "https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("5.5.1", sha256="ad83f3f1ed85ead9e3012906957c125a896168be913f6fb6af298228fc571480")
version("5.5.0", sha256="3eec838119326a67eb4cc006c706e328f3a51a01e98bbfb518df8fe4a4707e13")
version("5.4.3", sha256="cf528d9acb4f9b9c3aad439ae76bfc3d02be6e7a74d96099544e5d54e1a23675")
version("5.4.0", sha256="78db2c2ea466a4c5d84beedc000ae934f6d0ff1793eae90bb8d02b2dbff8932c")
version("5.3.3", sha256="b4fc3c05892729873dc098f111c31f83af7d33da572bdb7d87de100d4c238e6d")
@@ -112,13 +114,6 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive")
conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required")
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.10.2:", type="build", when="@4.2.0:")
depends_on("cmake@3.5.1:", type="build")
@@ -150,6 +145,8 @@ class Hipcub(CMakePackage, CudaPackage, ROCmPackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocprim@" + ver, when="+rocm @" + ver)
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)

View File

@@ -16,13 +16,15 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipFFT"
git = "https://github.com/ROCmSoftwarePlatform/hipFFT.git"
url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipfft/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("renjithravindrankannath", "srekolam")
version("master", branch="master")
version("5.5.1", sha256="3addd15a459752ad657e84c2a7b6b6289600d1d0a5f90d6e0946ba11e8148fc0")
version("5.5.0", sha256="47ec6f7da7346c312b80daaa8f763e86c7bdc33ac8617cfa3344068e5b20dd9e")
version("5.4.3", sha256="ae37f40b6019a11f10646ef193716836f366d269eab3c5cc2ed09af85355b945")
version("5.4.0", sha256="d0a8e790182928b3d19774b8db1eece9b881a422f6a7055c051b12739fded624")
version("5.3.3", sha256="fd1662cd5b1e1bce9db53b320c0fe614179cd196251efc2ef3365d38922b5cdc")
@@ -89,13 +91,6 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive")
conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required")
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.5:", type="build")
depends_on("hip +cuda", when="+cuda")
@@ -118,6 +113,8 @@ class Hipfft(CMakePackage, CudaPackage, ROCmPackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("rocfft@" + ver, when="+rocm @" + ver)

View File

@@ -11,11 +11,13 @@ class Hipfort(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipfort"
git = "https://github.com/ROCmSoftwarePlatform/hipfort.git"
url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipfort/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath")
version("5.5.1", sha256="abc59f7b81cbefbe3555cbf1bf0d80e8aa65901c70799748c40870fe6f3fea60")
version("5.5.0", sha256="cae75ffeac129639cabebfe2f95f254c83d6c0a6cffd98142ea3537a132e42bb")
version("5.4.3", sha256="1954a1cba351d566872ced5549b2ced7ab6332221e2b98dba3c07180dce8f173")
version("5.4.0", sha256="a781bc6d1dbb508a4bd6cc3df931696fac6c6361d4fd35efb12c9a04a72e112c")
version("5.3.3", sha256="593be86502578b68215ffe767c26849fd27d4dbd92c8e76762275805f99e64f5")
@@ -86,13 +88,6 @@ class Hipfort(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.0.2:", type="build")
depends_on("rocm-cmake@3.8.0:", type="build")
@@ -121,6 +116,8 @@ class Hipfort(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hip@" + ver, type="build", when="@" + ver)

View File

@@ -12,13 +12,14 @@ class HipifyClang(CMakePackage):
homepage = "https://github.com/ROCm-Developer-Tools/HIPIFY"
git = "https://github.com/ROCm-Developer-Tools/HIPIFY.git"
url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/HIPIFY/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("master", branch="master")
version("5.5.1", sha256="35b9c07a7afaf9cf6f3bbe9dd147fa81b1b297af3e5e26e60c55629e83feaa48")
version("5.5.0", sha256="1b75c702799ac93027337f8fb61d7c27ba960e8ece60d907fc8c5ab3f15c3fe9")
version("5.4.3", sha256="79e27bd6c0a28e6a62b02dccc0b5d88a81f69fe58487e83f3b7ab47d6b64341b")
version("5.4.0", sha256="9f51eb280671ae7f7e14eb593ee3ef099899221c4bdccfbdb7a78681ad17f37f")
version("5.3.3", sha256="9d08e2896e52c10a0a189a5407567043f2510adc7bf618591c97a22a23699691")
@@ -99,12 +100,6 @@ class HipifyClang(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
# the patch was added to install the targets in the correct directory structure
# this will fix the issue https://github.com/spack/spack/issues/30711
@@ -135,11 +130,22 @@ class HipifyClang(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("llvm-amdgpu@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
def setup_run_environment(self, env):
# The installer puts the binaries directly into the prefix
# instead of prefix/bin, so add prefix to the PATH
env.prepend_path("PATH", self.spec.prefix)
def cmake_args(self):
args = []
if self.spec.satisfies("@5.5"):
args.append(self.define("SWDEV_375013", "ON"))
return args

View File

@@ -14,7 +14,7 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipRAND"
git = "https://github.com/ROCmSoftwarePlatform/hipRAND.git"
url = "https://github.com/ROCmSoftwarePlatform/hipRAND/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipRAND/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath")
@@ -22,6 +22,8 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="develop")
version("master", branch="master")
version("5.5.1", sha256="5df9d78eae0991be5ec9f60e8d3530fabc23793d9f9cf274b075d689675db04e")
version("5.5.0", sha256="7c7dde7b989d5da9c0b0251233245f955b477c090462c7d34e3e0284c5fca761")
version("5.4.3", sha256="7d3d04476880ec90c088dff81f69aac8699eaef972476000e5c4726584ffa98f")
version("5.4.0", sha256="9456d4b4d5fd5c0b728f4aa4f8c224f829fe6fbf08e397848475293f71029a22")
version("5.3.3", sha256="f72626b00d61ed2925b3124b7f094ccfaf7750f02bee6bac6b79317e1c5576ef")
@@ -73,6 +75,8 @@ class Hiprand(CMakePackage, CudaPackage, ROCmPackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
"develop",
]:

View File

@@ -18,7 +18,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipSOLVER"
git = "https://github.com/ROCmSoftwarePlatform/hipSOLVER.git"
url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipSOLVER/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath")
@@ -27,6 +27,8 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="develop")
version("master", branch="master")
version("5.5.1", sha256="826bd64a4887176595bb7319d9a3612e7327602efe1f42aa3f2ad0e783d1a180")
version("5.5.0", sha256="0f45be0f90907381ae3e82424599e2ca2112d6411b4a64c72558d63f00409b83")
version("5.4.3", sha256="02a1bffecc494393f49f97174db7d2c101db557d32404923a44520876e682e3a")
version("5.4.0", sha256="d53d81c55b458ba5e6ea0ec6bd24bcc79ab06789730391da82d8c33b936339d9")
version("5.3.3", sha256="f5a487a1c7225ab748996ac4d837ac7ab26b43618c4ed97a124f8fac1d67786e")
@@ -101,6 +103,8 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
"develop",
]:

View File

@@ -14,12 +14,13 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/ROCmSoftwarePlatform/hipSPARSE"
git = "https://github.com/ROCmSoftwarePlatform/hipSPARSE.git"
url = "https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/hipSPARSE/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie")
libraries = ["libhipsparse"]
version("5.5.1", sha256="3d291e4fe2c611d555e54de66149b204fe7ac59f5dd00a9ad93bc6dca0528880")
version("5.5.0", sha256="8122c8f17d899385de83efb7ac0d8a4fabfcd2aa21bbed63e63ea7adf0d22df6")
version("5.4.3", sha256="b373eccd03679a13fab4e740fc780da25cbd598abca3a1e5e3613ae14954f9db")
version("5.4.0", sha256="47420d38483c8124813b744971e428a0352c83d9b62a5a50f74ffa8f9b785b20")
version("5.3.3", sha256="d96d0e47594ab12e8c380da2300704c105736a0771940d7d2fae666f2869e457")
@@ -116,13 +117,6 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive")
conflicts("~cuda ~rocm", msg="CUDA or ROCm support is required")
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("hip +cuda", when="+cuda")
depends_on("cmake@3.5:", type="build")
@@ -152,6 +146,8 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("rocsparse@" + ver, when="+rocm @" + ver)
@@ -163,7 +159,7 @@ class Hipsparse(CMakePackage, CudaPackage, ROCmPackage):
patch("e79985dccde22d826aceb3badfc643a3227979d2.patch", when="@3.5.0")
patch("530047af4a0f437dafc02f76b3a17e3b1536c7ec.patch", when="@3.5.0")
patch("0a90ddc4c33ed409a938513b9dbdca8bfad65e06.patch")
patch("0a90ddc4c33ed409a938513b9dbdca8bfad65e06.patch", when="@:5.4")
@classmethod
def determine_version(cls, lib):

View File

@@ -17,14 +17,15 @@ class HsaRocrDev(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime"
git = "https://github.com/RadeonOpenCompute/ROCR-Runtime.git"
url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
libraries = ["libhsa-runtime64"]
version("master", branch="master")
version("5.5.1", sha256="53d84ad5ba5086ed4ad67ad892c52c0e4eba8ddfa85c2dd341bf825f4d5fe4ee")
version("5.5.0", sha256="8dbc776b56f93ddaa2ca38bf3b88299b8091de7c1b3f2e481064896cf6808e6c")
version("5.4.3", sha256="a600eed848d47a7578c60da7e64eb92f29bbce2ec67932b251eafd4c2974cb67")
version("5.4.0", sha256="476cd18500cc227d01f6b44c00c7adc8574eb8234b6b4daefc219650183fa090")
version("5.3.3", sha256="aca88d90f169f35bd65ce3366b8670c7cdbe3abc0a2056eab805d0192cfd7130")
@@ -105,12 +106,6 @@ class HsaRocrDev(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant("shared", default=True, description="Build shared or static library")
variant("image", default=True, description="build with or without image support")
@@ -148,6 +143,8 @@ class HsaRocrDev(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("hsakmt-roct@" + ver, when="@" + ver)
@@ -156,10 +153,12 @@ class HsaRocrDev(CMakePackage):
depends_on(
"rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver)
)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
# Both 3.5.0 and 3.7.0 force INSTALL_RPATH in different ways
patch("0001-Do-not-set-an-explicit-rpath-by-default-since-packag.patch", when="@3.5.0")
patch("0002-Remove-explicit-RPATH-again.patch", when="@3.7.0:")
patch("0002-Remove-explicit-RPATH-again.patch", when="@3.7.0:5.5")
root_cmakelists_dir = "src"

View File

@@ -16,13 +16,14 @@ class HsakmtRoct(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface"
git = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git"
url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "arjun-raj-kuppala", "renjithravindrankannath")
maintainers("srekolam", "renjithravindrankannath")
version("master", branch="master")
version("5.5.1", sha256="4ffde3fc1f91f24cdbf09263fd8e012a3995ad10854f4c1d866beab7b9f36bf4")
version("5.5.0", sha256="2b11fd8937c2b06cd4ddea2c3699fbf3d1651892c4c5957d38553b993dd9af18")
version("5.4.3", sha256="3799abbe7177fbff3b304e2a363e2b39e8864f8650ae569b2b88b9291f9a710c")
version("5.4.0", sha256="690a78a6e67ae2b3f518dbc4a1e267237d6a342e1063b31eef297f4a04d780f8")
version("5.3.3", sha256="b5350de915997ed48072b37a21c2c44438028255f6cc147c25a196ad383c52e7")
@@ -103,24 +104,24 @@ class HsakmtRoct(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant("shared", default=True, description="Build shared or static library")
depends_on("pkgconfig", type="build", when="@4.5.0:")
depends_on("cmake@3:", type="build")
depends_on("numactl")
depends_on("libdrm", when="@4.5.0:")
depends_on("llvm-amdgpu", type="test", when="@5.3.0:")
for ver in ["5.3.0", "5.4.0", "5.4.3"]:
depends_on("llvm-amdgpu@" + ver, type="test", when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
depends_on("llvm-amdgpu@" + ver, type="test", when="@" + ver)
# See https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/issues/72
# and https://github.com/spack/spack/issues/28398
patch("0001-Remove-compiler-support-libraries-and-libudev-as-req.patch", when="@4.5.0:5.2")
patch("0002-Remove-compiler-support-libraries-and-libudev-as-req-5.3.patch", when="@5.3.0:")
patch("0002-Remove-compiler-support-libraries-and-libudev-as-req-5.3.patch", when="@5.3.0:5.4")
@property
def install_targets(self):

View File

@@ -24,6 +24,7 @@ class Hypre(AutotoolsPackage, CudaPackage, ROCmPackage):
test_requires_compiler = True
version("develop", branch="master")
version("2.29.0", sha256="98b72115407a0e24dbaac70eccae0da3465f8f999318b2c9241631133f42d511")
version("2.28.0", sha256="2eea68740cdbc0b49a5e428f06ad7af861d1e169ce6a12d2cf0aa2fc28c4a2ae")
version("2.27.0", sha256="507a3d036bb1ac21a55685ae417d769dd02009bde7e09785d0ae7446b4ae1f98")
version("2.26.0", sha256="c214084bddc61a06f3758d82947f7f831e76d7e3edeac2c78bb82d597686e05d")

View File

@@ -25,6 +25,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
version("master", branch="master")
version("develop", branch="develop")
version("4.1.00", sha256="cf725ea34ba766fdaf29c884cfe2daacfdc6dc2d6af84042d1c78d0f16866275")
version("4.0.01", sha256="bb942de8afdd519fd6d5d3974706bfc22b6585a62dd565c12e53bdb82cd154f0")
version("4.0.00", sha256="1829a423883d4b44223c7c3a53d3c51671145aad57d7d23e6a1a4bebf710dcf6")
version("3.7.02", sha256="5024979f06bc8da2fb696252a66297f3e0e67098595a0cc7345312b3b4aa0f54")
@@ -329,6 +330,9 @@ def cmake_args(self):
self.define("CMAKE_CXX_COMPILER", self.spec["kokkos-nvcc-wrapper"].kokkos_cxx)
)
if self.spec.satisfies("%oneapi") or self.spec.satisfies("%intel"):
options.append(self.define("CMAKE_CXX_FLAGS", "-fp-model=precise"))
return options
test_script_relative_path = join_path("scripts", "spack_test")

View File

@@ -145,6 +145,7 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
variant("boost", default=False, description="Enable callbacks that use Boost libraries")
variant("asan", default=False, description="Build with support for address-sanitizer")
variant("unit_tests", default=False, description="Support for unit testing")
variant("caliper", default=False, description="Support for instrumentation with caliper")
# LBANN benefits from high performance linkers, but passing these in as command
# line options forces the linker flags to unnecessarily propagate to all
@@ -316,6 +317,8 @@ class Lbann(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on("spdlog", when="@:0.90,0.102:")
depends_on("zstr")
depends_on("caliper+adiak+mpi", when="+caliper")
generator("ninja")
def setup_build_environment(self, env):
@@ -411,6 +414,7 @@ def initconfig_package_entries(self):
("LBANN_WITH_ALUMINUM", "al"),
("LBANN_WITH_ADDRESS_SANITIZER", "asan"),
("LBANN_WITH_BOOST", "boost"),
("LBANN_WITH_CALIPER", "caliper"),
("LBANN_WITH_CONDUIT", "conduit"),
("LBANN_WITH_NVSHMEM", "nvshmem"),
("LBANN_WITH_FFT", "fft"),

View File

@@ -50,3 +50,10 @@ def configure_args(self):
def install(self, spec, prefix):
make("install", parallel=False)
def flag_handler(self, name, flags):
if name == "cflags":
if self.spec.satisfies("%clang@16:"):
flags.append("-Wno-error=implicit-int")
flags.append("-Wno-error=implicit-function-declaration")
return (flags, None, None)

View File

@@ -16,7 +16,7 @@ class LlvmAmdgpu(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/llvm-project"
git = "https://github.com/RadeonOpenCompute/llvm-project.git"
url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
executables = [r"amdclang", r"amdclang\+\+", r"amdflang", r"clang.*", r"flang.*", "llvm-.*"]
generator("ninja")
@@ -24,6 +24,8 @@ class LlvmAmdgpu(CMakePackage):
maintainers("srekolam", "renjithravindrankannath", "haampie")
version("master", branch="amd-stg-open")
version("5.5.1", sha256="7d7181f20f89cb0715191aa32914186c67a34258c13457055570d47e15296553")
version("5.5.0", sha256="5dc6c99f612b69ff73145bee17524e3712990100e16445b71634106acf7927cf")
version("5.4.3", sha256="a844d3cc01613f6284a75d44db67c495ac1e9b600eacbb1eb13d2649f5d5404d")
version("5.4.0", sha256="ff54f45a17723892cd775c1eaff9e5860527fcfd33d98759223c70e3362335bf")
version("5.3.3", sha256="5296d5e474811c7d1e456cb6d5011db248b79b8d0512155e8a6c2aa5b5f12d38")
@@ -104,12 +106,6 @@ class LlvmAmdgpu(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant(
"rocm-device-libs",
default=True,
@@ -135,7 +131,8 @@ class LlvmAmdgpu(CMakePackage):
provides("libllvm@12", when="@3.9:4.2")
provides("libllvm@13", when="@4.3:4.9")
provides("libllvm@14", when="@5:5.2")
provides("libllvm@15", when="@5.3:")
provides("libllvm@15", when="@5.3:5.4")
provides("libllvm@16", when="@5.5:")
depends_on("cmake@3.4.3:", type="build", when="@:3.8")
depends_on("cmake@3.13.4:", type="build", when="@3.9.0:")
@@ -163,6 +160,7 @@ class LlvmAmdgpu(CMakePackage):
# as per 5.2.0 llvm code. It used to be llvm/bin/../lib/libdevice.
# Below patch is to look in the old path.
patch("adjust-openmp-bitcode-directory-for-llvm-link.patch", when="@5.2.0:")
patch("patch-llvm-5.5.0.patch", when="@5.5")
conflicts("^cmake@3.19.0")
@@ -171,6 +169,8 @@ class LlvmAmdgpu(CMakePackage):
# Add device libs sources so they can be an external LLVM project
for d_version, d_shasum in [
("5.5.1", "3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833"),
("5.5.0", "5ab95aeb9c8bed0514f96f7847e21e165ed901ed826cdc9382c14d199cbadbd3"),
("5.4.3", "f4f7281f2cea6d268fcc3662b37410957d4f0bc23e0df9f60b12eb0fcdf9e26e"),
("5.4.0", "d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951"),
("5.3.3", "963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768"),

View File

@@ -0,0 +1,13 @@
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index bb4374b..36e7f7b 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -3739,7 +3739,7 @@ def mcode_object_version_EQ : Joined<["-"], "mcode-object-version=">, Group<m_Gr
Values<"none,2,3,4,5">,
NormalizedValuesScope<"TargetOptions">,
NormalizedValues<["COV_None", "COV_2", "COV_3", "COV_4", "COV_5"]>,
- MarshallingInfoEnum<TargetOpts<"CodeObjectVersion">, "COV_5">;
+ MarshallingInfoEnum<TargetOpts<"CodeObjectVersion">, "COV_4">;
defm code_object_v3_legacy : SimpleMFlag<"code-object-v3",
"Legacy option to specify code object ABI V3",

View File

@@ -78,10 +78,6 @@ class Llvm(CMakePackage, CudaPackage):
version("5.0.1", sha256="84ca454abf262579814a2a2b846569f6e0cb3e16dc33ca3642b4f1dff6fbafd3")
version("5.0.0", sha256="1f1843315657a4371d8ca37f01265fa9aae17dbcf46d2d0a95c1fdb3c6a4bab6")
# NOTE: The debug version of LLVM is an order of magnitude larger than
# the release version, and may take up 20-30 GB of space. If you want
# to save space, build with `build_type=Release`.
variant(
"clang", default=True, description="Build the LLVM C/C++/Objective-C compiler frontend"
)

View File

@@ -31,6 +31,14 @@ class LmSensors(MakefilePackage):
depends_on("flex", type="build")
depends_on("perl", type="run")
@property
def build_targets(self):
targets = []
targets.append("CC={0}".format(spack_cc))
return targets
def install(self, spec, prefix):
make("install", "PREFIX={0}".format(prefix), "ETCDIR={0}/etc".format(prefix))

View File

@@ -19,13 +19,16 @@ class Mesa(MesonPackage):
url = "https://archive.mesa3d.org/mesa-20.2.1.tar.xz"
version("main", tag="main")
version("22.3.2", sha256="c15df758a8795f53e57f2a228eb4593c22b16dffd9b38f83901f76cd9533140b")
version("22.2.5", sha256="850f063146f8ebb262aec04f666c2c1e5623f2a1987dda24e4361b17b912c73b")
version(
"22.1.6",
sha256="22ced061eb9adab8ea35368246c1995c09723f3f71653cd5050c5cec376e671a",
"23.0.3",
sha256="386362a5d80df3b096636b67f340e1ce67b705b44767d5bdd11d2ed1037192d5",
preferred=True,
)
version("23.0.2", sha256="1b7d3399fc6f16f030361f925d33ebc7600cbf98094582f54775b6a1180529e7")
version("22.3.2", sha256="c15df758a8795f53e57f2a228eb4593c22b16dffd9b38f83901f76cd9533140b")
version("22.2.5", sha256="850f063146f8ebb262aec04f666c2c1e5623f2a1987dda24e4361b17b912c73b")
version("22.1.6", sha256="22ced061eb9adab8ea35368246c1995c09723f3f71653cd5050c5cec376e671a")
version("22.1.2", sha256="0971226b4a6a3d10cfc255736b33e4017e18c14c9db1e53863ac1f8ae0deb9ea")
version("22.0.5", sha256="5ee2dc06eff19e19b2867f12eb0db0905c9691c07974f6253f2f1443df4c7a35")
version("22.0.2", sha256="df4fa560dcce6680133067cd15b0505fc424ca703244ce9ab247c74d2fab6885")
@@ -136,14 +139,14 @@ class Mesa(MesonPackage):
# llvm::Module::setOverrideStackAlignment was added in LLVM 13.0.0, but forks based
# on development versions of LLVM 13 may or may not have it. Use SFINAE to detect
# the existence of the function and call it only if it is available.
patch("handle_missing_set_override_stack_alignment.patch", when="@21.2.3:")
patch("handle_missing_set_override_stack_alignment.patch", when="@21.2.3:22.3")
# ROCm 5.3.0 is providing llvm15. Gallivm coroutine is disabled in mesa upstream version
# for llvm-15. Until mesa release is available with this changes below patch is required
# in order to move on with ROCm 5.3.0 and ROCm 5.4.0.
# The revised patch was part of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17518/diffs.
patch("0001-disable-gallivm-coroutine-for-libllvm15.patch", when="@22.1.2: ^libllvm@15:")
patch("0001-disable-gallivm-coroutine-for-libllvm15.patch", when="@22.1.2:22.3 ^libllvm@15")
# Explicitly use the llvm-config tool
def patch(self):

View File

@@ -46,6 +46,7 @@ class Mgis(CMakePackage):
variant("c", default=True, description="Enables c bindings")
variant("fortran", default=True, description="Enables fortran bindings")
variant("python", default=True, description="Enables python bindings")
variant("static", default=False, description="Enables static libraries")
variant(
"build_type",
default="Release",
@@ -104,4 +105,7 @@ def cmake_args(self):
# adding path to boost
args.append("-DBOOST_ROOT={0}".format(self.spec["boost"].prefix))
if "+static" in self.spec:
args.append("-Denable-static=ON")
return args

View File

@@ -0,0 +1,25 @@
From 3edc823a73a020df7e674a9d5493a4b690798fa4 Mon Sep 17 00:00:00 2001
From: sreenivasa murthy kolam <sreenivasamurthy.kolam@amd.com>
Date: Tue, 9 May 2023 10:16:20 +0000
Subject: [PATCH] restrict python2.7 usage for 5.5.0
---
cmake/PythonModules.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/PythonModules.cmake b/cmake/PythonModules.cmake
index b5818ce..b4bfbb3 100755
--- a/cmake/PythonModules.cmake
+++ b/cmake/PythonModules.cmake
@@ -76,7 +76,7 @@ function(py_add_module NAME)
)
endfunction()
-set(PYTHON_SEARCH_VERSIONS 2.7 3.5 3.6 3.7 3.8 3.9 3.10)
+set(PYTHON_SEARCH_VERSIONS 3.5 3.6 3.7 3.8 3.9 3.10)
set(PYTHON_DISABLE_VERSIONS "" CACHE STRING "")
foreach(PYTHON_DISABLE_VERSION ${PYTHON_DISABLE_VERSIONS})
list(REMOVE_ITEM PYTHON_SEARCH_VERSIONS ${PYTHON_DISABLE_VERSION})
--
2.17.1

View File

@@ -13,12 +13,14 @@ class Migraphx(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX"
git = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git"
url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["libmigraphx"]
version("5.5.1", sha256="e71c4744f8ef6a1a99c179bbad94b8fe9bd7686eaa9397f376b70988c3341f0c")
version("5.5.0", sha256="6084eb596b170f5e38f22b5fa37e66aa43a8cbc626712c9f03cde48c8fecfc8f")
version("5.4.3", sha256="f83e7bbe5d6d0951fb2cf0abf7e8b3530e9a5e45f7cec6d760da055d6905d568")
version("5.4.0", sha256="b6e7f4a1bf445ea0dae644ed5722369cde66fbee82a5917722f5d3f8c48b0a8c")
version("5.3.3", sha256="91d91902bbedd5e1951a231e8e5c9a328360b128c731912ed17c8059df38e02a")
@@ -108,18 +110,12 @@ def url_for_version(self, version):
return url
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
patch("0001-Adding-nlohmann-json-include-directory.patch", when="@3.9.0:")
# Restrict Python 2.7 usage to fix the issue below
# https://github.com/spack/spack/issues/24429
patch("0002-restrict-python-2.7-usage.patch", when="@3.9.0:5.1.3")
patch("0003-restrict-python-2.7-usage.patch", when="@5.2.0:")
patch("0003-restrict-python-2.7-usage.patch", when="@5.2.0:5.4")
patch("0004-restrict-python2.7-usage-for-5.5.0.patch", when="@5.5.0:")
depends_on("cmake@3.5:", type="build")
depends_on("protobuf", type="link")
@@ -156,6 +152,8 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("hip@" + ver, when="@" + ver)
@@ -183,12 +181,15 @@ def determine_version(cls, lib):
return ver
def cmake_args(self):
spec = self.spec
abspath = spec["abseil-cpp"].prefix.include
args = ["-DCMAKE_CXX_COMPILER={0}/bin/clang++".format(self.spec["llvm-amdgpu"].prefix)]
if "@3.9.0:" in self.spec:
args.append(
"-DNLOHMANN_JSON_INCLUDE={0}".format(self.spec["nlohmann-json"].prefix.include)
)
if self.spec["cmake"].satisfies("@3.16.0:"):
args += self.cmake_python_hints
if "@5.5.0:" in self.spec:
args.append(self.define("CMAKE_CXX_FLAGS", "-I{0}".format(abspath)))
return args

View File

@@ -17,7 +17,17 @@ class Mimalloc(CMakePackage):
version("dev-slice", branch="dev-slice")
version("dev", branch="dev")
version("master", branch="master")
version("2.1.2", sha256="2b1bff6f717f9725c70bf8d79e4786da13de8a270059e4ba0bdd262ae7be46eb")
version("2.1.1", sha256="38b9660d0d1b8a732160191609b64057d8ccc3811ab18b7607bc93ca63a6010f")
version("2.1.0", sha256="86e5e53e38bace59a9eb20d27e7bd7c5f448cb246a887d4f99478fa4809731fc")
version("2.0.9", sha256="4a29edae32a914a706715e2ac8e7e4109e25353212edeed0888f4e3e15db5850")
version("2.0.7", sha256="f23aac6c73594e417af50cb38f1efed88ef1dc14a490f0eff07c7f7b079810a4")
version("2.0.6", sha256="9f05c94cc2b017ed13698834ac2a3567b6339a8bde27640df5a1581d49d05ce5")
version("1.8.2", sha256="4058d53d6ceb75862f32c30a6ee686c3cbb5e965b2c324b828ca454f7fe064f9")
version("1.8.1", sha256="7aaa54c3ed1feac90b6187eb93108e808660c6e103b0fa6a7e2fabb58c3147d5")
version("1.8.0", sha256="4bb69b49821499256e7d9b2a47427c4661f5ad3f1547a21f7bdea7e3bcbc60f8")
version("1.7.9", sha256="45e05be518363d32b2cdcce1a1fac3580895ea2e4524e1a3c7e71145cb58659f")
version("1.7.7", sha256="0f6663be1e1764851bf9563fcf7a6b3330e23b933eb4737dd07e3289b87895fe")
version("1.7.6", sha256="d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da")
depends_on("cmake@3.0:", type="build")

View File

@@ -14,12 +14,14 @@ class MiopenHip(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git"
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["libMIOpen"]
version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262")
version("5.5.0", sha256="791087242551669e546225e36123c21663f0dad14dbcfd6d0ce0e7bad0ab0de1")
version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd")
version("5.4.0", sha256="b4153791f9eeee4cbc5534bc6ad8b32c0947bcd38e08b77ebe144065a4fa5456")
version("5.3.3", sha256="7efc98215d23a2caaf212378c37e9a6484f54a4ed3e9660719286e4f287d3715")
@@ -100,13 +102,6 @@ class MiopenHip(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.5:", type="build")
depends_on("pkgconfig", type="build")
@@ -147,6 +142,8 @@ class MiopenHip(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("hip@" + ver, when="@" + ver)
@@ -156,7 +153,7 @@ class MiopenHip(CMakePackage):
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]:
depends_on("mlirmiopen@" + ver, when="@" + ver)
for ver in ["5.4.0", "5.4.3"]:
for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1"]:
depends_on("rocmlir@" + ver, when="@" + ver)
depends_on("nlohmann-json", type="link")

View File

@@ -14,12 +14,14 @@ class MiopenOpencl(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
git = "https://github.com/ROCmSoftwarePlatform/MIOpen.git"
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["libMIOpen"]
version("5.5.1", sha256="2cd75071b8ee876c69a94f028b6c8a9346d6d2fde7d4b64e6d635f3b6c994262")
version("5.5.0", sha256="791087242551669e546225e36123c21663f0dad14dbcfd6d0ce0e7bad0ab0de1")
version("5.4.3", sha256="37ffe2ed3d7942da8ea2f6bdb85c7a2f58e3ccd31767db158a322769d3604efd")
version("5.4.0", sha256="b4153791f9eeee4cbc5534bc6ad8b32c0947bcd38e08b77ebe144065a4fa5456")
version("5.3.3", sha256="7efc98215d23a2caaf212378c37e9a6484f54a4ed3e9660719286e4f287d3715")
@@ -100,13 +102,6 @@ class MiopenOpencl(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.5:", type="build")
depends_on("boost@1.67.0:1.73.0", type="link")
@@ -146,6 +141,8 @@ class MiopenOpencl(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("rocm-opencl@" + ver, when="@" + ver)
@@ -154,7 +151,7 @@ class MiopenOpencl(CMakePackage):
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3"]:
depends_on("mlirmiopen@" + ver, when="@" + ver)
for ver in ["5.4.0", "5.4.3"]:
for ver in ["5.4.0", "5.4.3", "5.5.0", "5.5.1"]:
depends_on("nlohmann-json", type="link")
depends_on("rocblas", type="link")
depends_on("rocmlir@" + ver, when="@" + ver)

View File

@@ -14,7 +14,7 @@ class Miopengemm(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM"
git = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM.git"
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
@@ -26,6 +26,8 @@ def url_for_version(self, version):
url = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM/archive/rocm-{0}.tar.gz"
return url.format(version)
version("5.5.1", sha256="a997b560521641e7173613cf547ecde5d15ac6fac1786d392b0f133c91f99a40")
version("5.5.0", sha256="ffd9775129564662b338952588057a088f7e9723b4a9a766b2dd96fdc0992c26")
version("5.4.3", sha256="5051051cab60ca0f6347a981da6c9dbeddf8b0de698d4e5409a0db0c622acafc")
version("5.4.0", sha256="a39faa8f4ab73e0cd6505a667bf10c07f93b9612af0711405c65043c4755129d")
version("5.3.3", sha256="4a9c92bebe59bf6e08bd48861b68b1801d9e8dc406250dc8637d36614a5884c8")
@@ -106,13 +108,6 @@ def url_for_version(self, version):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("rocm-cmake@3.5.0", type="build", when="@1.1.6")
depends_on("rocm-opencl@3.5.0", when="@1.1.6")
@@ -140,6 +135,8 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@" + ver, type="build", when="@" + ver)
depends_on("rocm-opencl@" + ver, when="@" + ver)

View File

@@ -13,7 +13,7 @@ class Mivisionx(CMakePackage):
homepage = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX"
git = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX.git"
url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-5.4.0.tar.gz"
url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-5.5.0.tar.gz"
maintainers("srekolam", "renjithravindrankannath")
tags = ["rocm"]
@@ -25,6 +25,8 @@ def url_for_version(self, version):
url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/MIVisionX/archive/rocm-{0}.tar.gz"
return url.format(version)
version("5.5.1", sha256="e8209f87a57c4222003a936240e7152bbfa496862113358f29d4c3e80d4cdf56")
version("5.5.0", sha256="af266550ecccad80f08954f23e47e8264eb338b0928a5314bd6efca349fc5a14")
version("5.4.3", sha256="4da82974962a70c326ce2427c664517b1efdff436efe222e6bc28817c222a082")
version("5.4.0", sha256="caa28a30972704ddbf1a87cefdc0b0a35381d369961c43973d473a1573bd35cc")
version("5.3.3", sha256="378fafcb327e17e0e11fe1d1029d1740d84aaef0fd59614ed7376499b3d716f6")
@@ -105,12 +107,6 @@ def url_for_version(self, version):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
# Adding 2 variants OPENCL ,HIP which HIP as default. earlier to 5.0.0,OPENCL
# was the default but has change dto HIP from 5.0.0 onwards.
# when tested with HIP as true for versions before 5.1.0, build errors were encountered
@@ -236,6 +232,8 @@ def patch(self):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-opencl@" + ver, when="@" + ver)
depends_on("miopengemm@" + ver, when="@" + ver)
@@ -255,11 +253,16 @@ def patch(self):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("miopen-hip@" + ver, when="@" + ver)
for ver in ["5.3.3", "5.4.0", "5.4.3"]:
for ver in ["5.3.3", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]:
depends_on("migraphx@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
def flag_handler(self, name, flags):
spec = self.spec
protobuf = spec["protobuf"].prefix.include

View File

@@ -17,6 +17,7 @@ class MochiMargo(AutotoolsPackage):
maintainers("carns", "mdorier", "fbudin69500")
version("main", branch="main")
version("0.14.1", sha256="69229a9126b76aff7fd47e25c4a8f72804f101c5c603c4e4ef93f4fb7a1b6662")
version("0.14.0", sha256="ff0e3fa786630b63280606243c35f1ea3a25fa2ba6f08bf9065cab9fcc7fa1c7")
version("0.13.1", sha256="cff1decb94089cd0f9c0930b02092838679827b09ce4a2f3a359d59caee28782")
version("0.13", sha256="9a5a4aa81ceb10e010fbad6c7bb8d39d082fe6e61ed33b2b2d2b056917f401d8")

View File

@@ -39,6 +39,8 @@ class Molgw(MakefilePackage):
# enforce scalapack-capable mkl when asking +scalapack (and using intel-oneapi-mkl)
depends_on("intel-oneapi-mkl+cluster", when="+scalapack ^intel-oneapi-mkl")
# enforce threaded mkl when asking +openmp (and using intel-oneapi-mkl)
depends_on("intel-oneapi-mkl threads=openmp", when="+openmp ^intel-oneapi-mkl")
# enforce threaded openblas when asking +openmp (and using openblas)
depends_on("openblas threads=openmp", when="+openmp ^openblas")

View File

@@ -28,6 +28,7 @@ class Mpich(AutotoolsPackage, CudaPackage, ROCmPackage):
keep_werror = "specific"
version("develop", submodules=True)
version("4.1.2", sha256="3492e98adab62b597ef0d292fb2459b6123bc80070a8aa0a30be6962075a12f0")
version("4.1.1", sha256="ee30471b35ef87f4c88f871a5e2ad3811cd9c4df32fd4f138443072ff4284ca2")
version("4.1", sha256="8b1ec63bc44c7caa2afbb457bc5b3cd4a70dbe46baba700123d67c48dc5ab6a0")
version("4.0.3", sha256="17406ea90a6ed4ecd5be39c9ddcbfac9343e6ab4f77ac4e8c5ebe4a3e3b6c501")

View File

@@ -0,0 +1,83 @@
MRuby::Build.new do |conf|
# load specific toolchain settings
conf.toolchain
if ENV.key?('MRUBY_ENABLE_CXX_EXCEPTION')
conf.enable_cxx_exception
end
# Use mrbgems
# conf.gem 'examples/mrbgems/ruby_extension_example'
# conf.gem 'examples/mrbgems/c_extension_example' do |g|
# g.cc.flags << '-g' # append cflags in this gem
# end
# conf.gem 'examples/mrbgems/c_and_ruby_extension_example'
# conf.gem :core => 'mruby-eval'
# conf.gem :mgem => 'mruby-onig-regexp'
# conf.gem :github => 'mattn/mruby-onig-regexp'
# conf.gem :git => 'git@github.com:mattn/mruby-onig-regexp.git', :branch => 'master', :options => '-v'
# include the GEM box
conf.gembox 'full-core'
# C compiler settings
# conf.cc do |cc|
# cc.command = ENV['CC'] || 'gcc'
# cc.flags = [ENV['CFLAGS'] || %w()]
# cc.include_paths = ["#{root}/include"]
# cc.defines = %w()
# cc.option_include_path = %q[-I"%s"]
# cc.option_define = '-D%s'
# cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
# end
# mrbc settings
# conf.mrbc do |mrbc|
# mrbc.compile_options = "-g -B%{funcname} -o-" # The -g option is required for line numbers
# end
# Linker settings
# conf.linker do |linker|
# linker.command = ENV['LD'] || 'gcc'
# linker.flags = [ENV['LDFLAGS'] || []]
# linker.flags_before_libraries = []
# linker.libraries = %w()
# linker.flags_after_libraries = []
# linker.library_paths = []
# linker.option_library = '-l%s'
# linker.option_library_path = '-L%s'
# linker.link_options = "%{flags} -o "%{outfile}" %{objs} %{libs}"
# end
# Archiver settings
# conf.archiver do |archiver|
# archiver.command = ENV['AR'] || 'ar'
# archiver.archive_options = 'rs "%{outfile}" %{objs}'
# end
# Parser generator settings
# conf.yacc do |yacc|
# yacc.command = ENV['YACC'] || 'bison'
# yacc.compile_options = %q[-o "%{outfile}" "%{infile}"]
# end
# gperf settings
# conf.gperf do |gperf|
# gperf.command = 'gperf'
# gperf.compile_options = %q[-L ANSI-C -C -p -j1 -i 1 -g -o -t -N mrb_reserved_word -k"1,3,$" "%{infile}" > "%{outfile}"]
# end
# file extensions
# conf.exts do |exts|
# exts.object = '.o'
# exts.executable = '' # '.exe' if Windows
# exts.library = '.a'
# end
# file separator
# conf.file_separator = '/'
# Turn on `enable_debug` for better debugging
# conf.enable_debug
conf.enable_bintest
conf.enable_test
end

View File

@@ -0,0 +1,56 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Mruby(Package):
"""mruby is the lightweight implementation of the Ruby language complying
to (part of) the ISO standard. Its syntax is Ruby 2.x compatible."""
homepage = "https://mruby.org/"
url = "https://github.com/mruby/mruby/archive/refs/tags/3.0.0.tar.gz"
git = "https://github.com/mruby/mruby.git"
maintainers = ["mdorier"]
version("master", branch="master")
version("3.2.0", sha256="3c198e4a31d31fe8524013066fac84a67fe6cd6067d92c25a1c79089744cb608")
version("3.1.0", sha256="64ce0a967028a1a913d3dfc8d3f33b295332ab73be6f68e96d0f675f18c79ca8")
version("3.0.0", sha256="95b798cdd931ef29d388e2b0b267cba4dc469e8722c37d4ef8ee5248bc9075b0")
version("2.1.2", sha256="4dc0017e36d15e81dc85953afb2a643ba2571574748db0d8ede002cefbba053b")
version("2.1.1", sha256="bb27397ee9cb7e0ddf4ff51caf5b0a193d636b7a3c52399684c8c383b41c362a")
version("2.1.0", sha256="d6733742a07e553c52ab71df08b0604b3b571768bbc0c2729fbf0389d1bb5d13")
variant("cxx_exception", description="Enable C++ exceptions", default=False, when="@3.1.0:")
depends_on("ruby@3.0.0:", type=("build"))
depends_on("bison", type=("build"))
def patch(self):
"""Create a config.rb file for rake to use"""
import os
here = os.path.dirname(os.path.abspath(__file__))
copy(os.path.join(here, "config.rb"), os.path.join("build_config", "spack.rb"))
def install(self, spec, prefix):
import os
rb = spec["ruby"]
env["MRUBY_CONFIG"] = os.path.join("build_config", "spack.rb")
env["GEM_PATH"] = os.path.join(
rb.prefix, "lib", "ruby", "gems", str(rb.version.up_to(2)) + ".0"
)
if "+cxx_exception" in spec:
env["MRUBY_ENABLE_CXX_EXCEPTION"] = "ON"
rake()
build_path = os.path.join("build", "host")
for d in ["include", "lib", "bin", "mrblib", "mrbgems"]:
prefix_d = os.path.join(prefix, d)
build_path_d = os.path.join(build_path, d)
mkdirp(prefix_d)
install_tree(build_path_d, prefix_d)
install_tree("include", prefix.include)

View File

@@ -0,0 +1,31 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Mtn(MakefilePackage):
"""Movie Thumbnailer is CLI thumbnail generator using FFmpeg."""
homepage = "https://gitlab.com/movie_thumbnailer/mtn"
url = "https://gitlab.com/movie_thumbnailer/mtn/-/archive/v3.4.2/mtn-v3.4.2.tar.gz"
maintainers("ledif")
version("3.4.2", sha256="19b2076c00f5b0ad70c2467189b17f335c6e7ece5d1a01ed8910779f6a5ca52a")
depends_on("ffmpeg")
depends_on("libgd")
def build(self, spec, prefix):
src_dir = join_path(self.build_directory, "src")
with working_dir(src_dir):
make()
def install(self, spec, prefix):
src_dir = join_path(self.build_directory, "src")
with working_dir(src_dir):
make(f"PREFIX={prefix}", "install")

View File

@@ -0,0 +1,27 @@
diff -ruN spack-src/src/pm/hydra/configure.ac spack-src-patched/src/pm/hydra/configure.ac
--- spack-src/src/pm/hydra/configure.ac 2022-05-16 16:58:22.000000000 +0000
+++ spack-src-patched/src/pm/hydra/configure.ac 2023-07-20 15:23:21.802299913 +0000
@@ -306,15 +306,16 @@
available_launchers="$available_launchers pbs"
PAC_APPEND_FLAG([-ltorque],[WRAPPER_LIBS])
fi
- PAC_SET_HEADER_LIB_PATH(pbs)
PAC_PUSH_FLAG(LIBS)
- PAC_CHECK_HEADER_LIB(tm.h, pbs, tm_init, have_pbs_launcher=yes,
+ if test "have_pbs_launcher" = "no" ; then
+ PAC_CHECK_HEADER_LIB(tm.h, pbs, tm_init, have_pbs_launcher=yes,
have_pbs_launcher=no)
- PAC_POP_FLAG(LIBS)
- if test "$have_pbs_launcher" = "yes" ; then
- available_launchers="$available_launchers pbs"
- PAC_APPEND_FLAG([-lpbs],[WRAPPER_LIBS])
- AC_DEFINE(HAVE_PBS_PRO, 1, [Define if PBS Pro support is enabled])
+ PAC_POP_FLAG(LIBS)
+ if test "$have_pbs_launcher" = "yes" ; then
+ available_launchers="$available_launchers pbs"
+ PAC_APPEND_FLAG([-lpbs],[WRAPPER_LIBS])
+ AC_DEFINE(HAVE_PBS_PRO, 1, [Define if PBS Pro support is enabled])
+ fi
fi
available_rmks="$available_rmks pbs"
;;

View File

@@ -0,0 +1,18 @@
--- a/src/mpi/attr/attrutil.c
+++ b/src/mpi/attr/attrutil.c
@@ -266,6 +266,7 @@
corresponding keyval */
/* Still to do: capture any error returns but continue to
process attributes */
+ if (p->keyval) {
mpi_errno = MPIR_Call_attr_delete( handle, p );
/* We must also remove the keyval reference. If the keyval
@@ -282,6 +283,7 @@
MPIU_Handle_obj_free( &MPID_Keyval_mem, p->keyval );
}
}
+ }
MPIU_Handle_obj_free( &MPID_Attr_mem, p );

View File

@@ -117,6 +117,7 @@ class Mvapich2(AutotoolsPackage):
values=auto_or_any_combination_of("lustre", "gpfs", "nfs", "ufs"),
)
depends_on("automake@1.15", type="build") # needed for torque patch
depends_on("findutils", type="build")
depends_on("bison", type="build")
depends_on("pkgconfig", type="build")
@@ -133,8 +134,14 @@ class Mvapich2(AutotoolsPackage):
depends_on("libfabric", when="fabrics=nemesisofi")
depends_on("slurm", when="process_managers=slurm")
# Fix segmentation fault in `MPIR_Attr_delete_list`:
# <https://lists.osu.edu/pipermail/mvapich-discuss/2023-January/010695.html>.
patch("mpir_attr_delete_list_segfault.patch", when="@2.3.7")
conflicts("fabrics=psm2", when="@:2.1") # psm2 support was added at version 2.2
patch("fix-torque.patch", when="@2.3.7-1")
filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
@classmethod

View File

@@ -21,6 +21,7 @@ class NetcdfFortran(AutotoolsPackage):
maintainers("skosukhin", "WardF")
version("4.6.1", sha256="b50b0c72b8b16b140201a020936aa8aeda5c79cf265c55160986cd637807a37a")
version("4.6.0", sha256="198bff6534cc85a121adc9e12f1c4bc53406c403bda331775a1291509e7b2f23")
version("4.5.4", sha256="0a19b26a2b6e29fab5d29d7d7e08c24e87712d09a5cafeea90e16e0a2ab86b81")
version("4.5.3", sha256="123a5c6184336891e62cf2936b9f2d1c54e8dee299cfd9d2c1a1eb05dd668a74")
@@ -128,10 +129,8 @@ def configure_args(self):
return config_args
@when("@:4.4.5")
def check(self):
with working_dir(self.build_directory):
make("check", parallel=False)
make("check", parallel=self.spec.satisfies("@4.5:"))
@run_after("install")
def cray_module_filenames(self):

View File

@@ -0,0 +1,48 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Odgi(CMakePackage):
"""Optimized dynamic genome/graph implementation.
Odgi provides an efficient and succinct dynamic DNA sequence graph model, as
well as a host of algorithms that allow the use of such graphs in
bioinformatic analyses.
"""
homepage = "https://github.com/pangenome/odgi"
git = "https://github.com/pangenome/odgi.git"
# notify when the package is updated.
maintainers("tbhaxor", "EbiArnie")
# <<< Versions list starts here
version("0.8.3", commit="34f006f31c3f6b35a1eb8d58a4edb1c458583de3", submodules=True)
# >>> Versions list ends here
# compilation problem with ninja
generator("make", default="make")
# the range is required to successfully build the program
requires("%gcc", msg="Package odgi depends on the gcc C++ compiler")
conflicts(
"%gcc@:9.2,13:", msg="Unsupported compiler version. Recommended range is 9.3 -> 12.x"
)
# <<< Dependencies list starts here
depends_on("python")
depends_on("py-pybind11")
depends_on("sdsl-lite")
depends_on("libdivsufsort")
depends_on("jemalloc")
# >>> Dependencies list ends here
def cmake_args(self):
args = [
"-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=ON",
"-DPYTHON_EXECUTABLE:FILEPATH={0}".format(self.spec["python"].command),
]
return args

View File

@@ -495,6 +495,7 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# Variants to use internal packages
variant("internal-hwloc", default=False, description="Use internal hwloc")
variant("internal-pmix", default=False, description="Use internal pmix")
variant("openshmem", default=False, description="Enable building OpenSHMEM")
provides("mpi")
provides("mpi@:2.2", when="@1.6.5")
@@ -1039,6 +1040,9 @@ def configure_args(self):
# Workaround compiler issues
config_args.append("CFLAGS=-O1")
if "+openshmem" in spec:
config_args.append("--enable-oshmem")
if "+wrapper-rpath" in spec:
config_args.append("--enable-wrapper-rpath")

View File

@@ -17,6 +17,7 @@ class Pastix(CMakePackage, CudaPackage):
maintainers("fpruvost", "mfaverge", "ramet")
version("master", branch="master", submodules=True)
version("6.3.0", sha256="a6bfec32a3279d7b24c5fc05885c6632d177e467f1584707c6fd7c42a8703c3e")
version("6.2.2", sha256="cce9a1fe4678b5733c9f1a5a52f77b040eadc3e254418c6fb03d8ab37dede508")
version("6.2.1", sha256="b680cbfc265df8cba18d3a7093fcc02e260198c4a2d6a86d1e684bb291e309dd")

View File

@@ -247,22 +247,19 @@ def check_fortran_compiler(self):
depends_on("mmg", when="+parmmg")
depends_on("parmmg", when="+parmmg")
depends_on("tetgen+pic", when="+tetgen")
# hypre+/~fortran based on wheter fortran is enabled/disabled
depends_on("hypre+fortran", when="+hypre+fortran")
depends_on("hypre~fortran", when="+hypre~fortran")
# Hypre does not support complex numbers.
# Also PETSc prefer to build it without internal superlu, likely due to
# conflict in headers see
# https://bitbucket.org/petsc/petsc/src/90564b43f6b05485163c147b464b5d6d28cde3ef/config/BuildSystem/config/packages/hypre.py
depends_on("hypre@2.14:2.18.2~internal-superlu", when="@3.11:3.13+hypre")
depends_on("hypre@2.14:2.22.0~internal-superlu", when="@3.14:3.15+hypre")
depends_on("hypre@2.14:~internal-superlu", when="@3.16:+hypre")
depends_on("hypre@develop~internal-superlu", when="@main+hypre")
depends_on("hypre+complex", when="+hypre+complex")
depends_on("hypre~complex", when="+hypre~complex")
depends_on("hypre+int64", when="+hypre+int64")
depends_on("hypre~int64", when="+hypre~int64")
depends_on("hypre+mpi", when="+hypre+mpi")
depends_on("hypre+mpi~internal-superlu", when="+hypre")
depends_on("hypre@2.14:2.18.2", when="@3.11:3.13+hypre")
depends_on("hypre@2.14:2.22.0", when="@3.14:3.15+hypre")
depends_on("hypre@2.14:2.28.0", when="@3.16:3.19+hypre")
depends_on("hypre@2.14:", when="@3.20+hypre")
depends_on("hypre@develop", when="@main+hypre")
depends_on("superlu-dist@:4.3~int64", when="@3.4.4:3.6.4+superlu-dist+mpi~int64")
depends_on("superlu-dist@:4.3+int64", when="@3.4.4:3.6.4+superlu-dist+mpi+int64")

View File

@@ -37,6 +37,7 @@ class Pmix(AutotoolsPackage):
# Branches 4.2 & 5.0 will also need submodules
version("master", branch="master", submodules=True)
version("4.2.4", sha256="c4699543f2278d3a78bdac72b4b2da9cd92d11d18478d66522b8991764b021c8")
version("4.2.3", sha256="c3d9d6885ae39c15627a86dc4718e050baf604acda71b8b9e2ee3b12ad5c2d2a")
version("4.2.2", sha256="935b2f492e4bc409017f1425a83366aa72a7039605ea187c9fac7bb1371cd73c")
version("4.2.1", sha256="3c992fa0d653b56e0e409bbaec9de8fc1b82c948364dbb28545442315ed2a179")
@@ -118,7 +119,7 @@ def find_external_lib_path(self, pkg_name, path_match_str=""):
def configure_args(self):
spec = self.spec
config_args = ["--enable-shared", "--enable-static", "--disable-sphinx"]
config_args = ["--enable-shared", "--enable-static", "--disable-sphinx", "--without-munge"]
config_args.append("--with-libevent=" + spec["libevent"].prefix)
config_args.append("--with-hwloc=" + spec["hwloc"].prefix)

View File

@@ -0,0 +1,18 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyBarectf(PythonPackage):
"""barectf (from bare metal and CTF) is a generator of
tracer which produces CTF data streams."""
pypi = "barectf/barectf-3.1.2.tar.gz"
version("3.1.2", sha256="d4d626b22a33b7d9bc9ac033bba8893890aba0ee1011c9e78429a67296c09e1c")
depends_on("py-poetry-core", type="build")

View File

@@ -57,6 +57,7 @@ class PyDistributed(PythonPackage):
depends_on("py-psutil@5.7.0:", type=("build", "run"), when="@2023.4.1:")
depends_on("py-sortedcontainers@:1,2.0.2:", type=("build", "run"))
depends_on("py-sortedcontainers@2.0.5:", type=("build", "run"), when="@2023.4.1:")
depends_on("py-tblib@1.6:", type=("build", "run"))
depends_on("py-toolz@0.8.2:", type=("build", "run"))
# Note that the setup.py is wrong for py-toolz, when="@2022.10.2".
# See https://github.com/dask/distributed/pull/7309

View File

@@ -25,7 +25,16 @@ class Quickjs(MakefilePackage):
"2020-09-06", sha256="0021a3e8cdc6b61e225411d05e2841d2437e1ccf4b4cabb9a5f7685ebfb57717"
)
variant("lto", default=True, when="%gcc", description="Enable link-time optimization")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter("prefix=/usr/local", "prefix={}".format(prefix))
makefile.filter("lib/quickjs", "lib")
makefile.filter("CFLAGS=", "CFLAGS+=-fPIC ")
if "+lto" not in spec:
makefile.filter("CONFIG_LTO=y", "")
cc = self.compiler.cc
makefile.filter("^ *CC=.*", " CC={}".format(cc))
makefile.filter("^ *HOST_CC=.*", " HOST_CC={}".format(cc))
makefile.filter("gcc-ar", "{}-ar".format(cc))

View File

@@ -1,25 +1,27 @@
From 5d40f88d3af525326aaeae052f0e7345445336d8 Mon Sep 17 00:00:00 2001
From d929b8a0c4fcaaf2ce37cff335b89455db043780 Mon Sep 17 00:00:00 2001
From: Renjith Ravindran <Renjith.RavindranKannath@amd.com>
Date: Wed, 21 Sep 2022 05:42:54 +0000
Subject: [PATCH] 5.2.3 changes for spack
Date: Fri, 19 May 2023 22:36:11 +0000
Subject: [PATCH] Updating with hsa include path in CMakeList
---
CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
CMakeLists.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79e0a35..21f2a54 100644
index 9c139ef..f53cedf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -123,6 +123,8 @@ include_directories(src)
include_directories(src/include)
@@ -134,6 +134,10 @@ include_directories(${PROJECT_BINARY_DIR}/src/include) # for hipified header fil
include_directories(src)
include_directories(src/collectives)
include_directories(src/collectives/device)
+include_directories(${NUMACTL_DIR}/include)
+include_directories(${HSA_INCLUDE_PATH})
+link_directories(${NUMACTL_DIR}/lib)
+
# Create git version file
# _git_version.cpp is a dummy output to force re-run prior to build
if (BUILD_ALLREDUCE_ONLY)
add_definitions(-DBUILD_ALLREDUCE_ONLY)
--
2.17.1

View File

@@ -16,12 +16,13 @@ class Rccl(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rccl"
git = "https://github.com/ROCmSoftwarePlatform/rccl.git"
url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["librccl"]
version("5.5.1", sha256="f6b9dc6dafeb49d95c085825876b09317d8252771c746ccf5aa19a9204a404b2")
version("5.5.0", sha256="be2964b408741d046bcd606d339a233d1d1deac7b841647ec53d6d62d71452ba")
version("5.4.3", sha256="a2524f602bd7b3b6afeb8ba9aff660216ee807fa836e46442d068b5ed5f51a4d")
version("5.4.0", sha256="213f4f3d75389be588673e43f563e5c0d6908798228b0b6a71f27138fd4ed0c7")
version("5.3.3", sha256="8995a2d010ad0748fc85ac06e8da7e8d110ba996db04d42b77526c9c059c05bb")
@@ -105,12 +106,6 @@ class Rccl(CMakePackage):
amdgpu_targets = ROCmPackage.amdgpu_targets
variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets), sticky=True)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
patch("0001-Fix-numactl-path-issue.patch", when="@3.7.0:4.3.2")
patch("0002-Fix-numactl-rocm-smi-path-issue.patch", when="@4.5.0:5.2.1")
@@ -141,6 +136,8 @@ class Rccl(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
depends_on("hip@" + ver, when="@" + ver)
@@ -170,6 +167,8 @@ class Rccl(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("numactl@2:", when="@" + ver)
for ver in [
@@ -186,10 +185,15 @@ class Rccl(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.1",
]:
depends_on("rocm-smi-lib@" + ver, when="@" + ver)
depends_on("chrpath", when="@5.3.0:")
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
depends_on("googletest@1.11.0:", when="@5.3:")
@classmethod
def determine_version(cls, lib):
match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)

View File

@@ -4,6 +4,8 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import re
from spack.package import *
@@ -11,7 +13,7 @@ class Rdc(CMakePackage):
"""ROCm Data Center Tool"""
homepage = "https://github.com/RadeonOpenCompute/rdc"
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-5.4.0.tar.gz"
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
@@ -24,6 +26,8 @@ def url_for_version(self, version):
url = "https://github.com/RadeonOpenCompute/rdc/archive/rocm-{0}.tar.gz"
return url.format(version)
version("5.5.1", sha256="a58a319ee702cf61cf71a4eba647c231392f68449b35419d941079c6de944844")
version("5.5.0", sha256="56e85e77581963fbcfcc43e091a91773de470152347808ae730bcaf92c9f5ee8")
version("5.4.3", sha256="c44f0b070b5650bc78e2eb968aae57a8ac1e1fd160e897055b79f3026c4fbad3")
version("5.4.0", sha256="268aab43e31045443b08a21aee8750da4cf04750c6f419ec171ec704d377a4e4")
version("5.3.3", sha256="1bf1a02f305e3a629801e62584116a34eafbd1b26627837a2a8c10550fcf611b")
@@ -94,19 +98,13 @@ def url_for_version(self, version):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.15:3.19.7", type="build", when="@:4.3.1")
depends_on("cmake@3.15:", type="build", when="@4.5.0:")
depends_on("grpc@1.28.1+shared", type="build", when="@:5.3")
depends_on("grpc@1.44.0+shared", when="@5.4.0:")
depends_on("protobuf", type=("build", "link"))
depends_on("libcap", type=("build", "link"))
depends_on("grpc@1.44.0+shared", when="@5.4.0:5.4")
depends_on("grpc@1.55.0+shared", when="@5.5.0:")
depends_on("protobuf")
depends_on("libcap")
for ver in [
"3.8.0",
@@ -130,6 +128,8 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-smi-lib@" + ver, type=("build", "link"), when="@" + ver)
@@ -145,9 +145,14 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
def patch(self):
filter_file(r"\${ROCM_DIR}/rocm_smi", "${ROCM_SMI_DIR}", "CMakeLists.txt")
filter_file(

View File

@@ -0,0 +1,124 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
class RedisAi(MakefilePackage):
"""A Redis module for serving tensors and executing deep learning graphs"""
homepage = "https://oss.redis.com/redisai/"
git = "https://github.com/RedisAI/RedisAI.git"
maintainers("MattToast")
version("1.2.7", tag="v1.2.7", submodules=True)
variant("torch", default=True, description="Build with the pytorch backend")
variant("cuda", default=False, description="Use CUDA")
variant("rocm", default=False, description="Use ROCm")
conflicts("+cuda+rocm")
# Required dependencies
depends_on("git", type=("build", "link"))
depends_on("git-lfs", type=("build", "link"))
depends_on("python@3:", type=("build", "link"))
depends_on("py-pip", type=("build", "link"))
depends_on("cmake@3.0:", type=("build", "link"))
depends_on("gmake", type=("build", "link"))
# GPU deps
depends_on("cuda@11.2:", type=("build", "link", "run"), when="+cuda")
depends_on("cudnn@8.1:", type=("build", "link", "run"), when="+cuda")
with when("+rocm"):
depends_on("hsa-rocr-dev")
depends_on("hip")
depends_on("rocprim")
depends_on("hipcub")
depends_on("rocthrust")
depends_on("roctracer-dev")
depends_on("rocrand")
depends_on("hipsparse")
depends_on("hipfft")
depends_on("rocfft")
depends_on("rocblas")
depends_on("miopen-hip")
depends_on("rocminfo")
# Optional Deps
with when("+torch"):
depends_on("py-torch@1.11.0:~cuda~rocm", type=("build", "link"), when="~cuda~rocm")
depends_on("py-torch@1.11.0:+cuda+cudnn~rocm", type=("build", "link"), when="+cuda")
depends_on("py-torch@1.11.0:~cuda+rocm", type=("build", "link"), when="+rocm")
build_directory = "opt"
parallel = False
@property
def use_gpu(self):
return self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm")
@property
def with_torch(self):
return self.spec.satisfies("+torch")
@property
def torch_dir(self):
return (
join_path(self.spec["py-torch"].package.cmake_prefix_paths[0], "Torch")
if self.with_torch
else None
)
@property
def build_env(self):
build_env = {
"WITH_TF": "0",
"WITH_TFLITE": "0",
"WITH_PT": "0",
"WITH_ORT": "0",
"WITH_UNIT_TESTS": "0",
"GPU": "1" if self.use_gpu else "0",
}
if self.with_torch:
build_env["WITH_PT"] = "1"
build_env["Torch_DIR"] = self.torch_dir
return build_env
def edit(self, spec, prefix):
# resolve deps not provided through spack
Executable(join_path(".", "get_deps.sh"))(
extra_env={
"VERBOSE": "1",
# Need to grab the RAI specific version of dlpack
"WITH_DLPACK": "1",
# Do not get ml backends, they should be retrieved through spack
"WITH_TF": "0",
"WITH_TFLITE": "0",
"WITH_PT": "0",
"WITH_ORT": "0",
# Decide if we want GPU
"GPU": "1" if self.use_gpu else "0",
}
)
env.update(self.build_env)
def install(self, spec, prefix):
super(RedisAi, self).install(spec, prefix)
install_tree("install-*", prefix)
@run_after("install")
@on_package_attributes(with_torch=True)
def copy_libtorch(self):
torch_site_dir = os.path.dirname(os.path.dirname(os.path.dirname(self.torch_dir)))
torch_lib_dir = join_path(torch_site_dir, "lib")
install_tree(torch_lib_dir, self.prefix.backends.redisai_torch.lib)
def setup_run_environment(self, env):
env.set("REDIS_AI", self.prefix.join("redisai.so"))

View File

@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import itertools
import re
from spack.package import *
@@ -18,12 +19,14 @@ class Rocalution(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rocALUTION"
git = "https://github.com/ROCmSoftwarePlatform/rocALUTION.git"
url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath")
libraries = ["librocalution_hip"]
version("5.5.1", sha256="4612e30a0290b1732c8862eea655122abc2d22ce4345b8498fe4127697e880b4")
version("5.5.0", sha256="626e966b67b83a1ef79f9bf27aba998c49cf65c4208092516aa1e32a6cbd8c36")
version("5.4.3", sha256="39d00951a9b3cbdc4205a7e3ce75c026d9428c71c784815288c445f84a7f8a0e")
version("5.4.0", sha256="dccf004434e0fee6d0c7bedd46827f5a2af0392bc4807a08403b130e461f55eb")
version("5.3.3", sha256="3af022250bc25bebdee12bfb8fdbab4b60513b537b9fe15dfa82ded8850c5066")
@@ -107,12 +110,6 @@ class Rocalution(CMakePackage):
amdgpu_targets = ROCmPackage.amdgpu_targets
variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets), sticky=True)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.5:", type="build")
for ver in ["3.5.0", "3.7.0", "3.8.0"]:
@@ -151,6 +148,8 @@ class Rocalution(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hip@" + ver, when="@" + ver)
depends_on("rocprim@" + ver, when="@" + ver)

View File

@@ -13,7 +13,7 @@ class Rocblas(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS/"
git = "https://github.com/ROCmSoftwarePlatform/rocBLAS.git"
url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/rocBLAS/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie")
@@ -21,7 +21,8 @@ class Rocblas(CMakePackage):
version("develop", branch="develop")
version("master", branch="master")
version("5.5.1", sha256="7916a8d238d51cc239949d799f0b61c9d5cd63c6ccaed0e16749489b89ca8ff3")
version("5.5.0", sha256="b5260517f199e806ae18f2c4495f163884e0d7a0a7c67af0770f7428ea50f898")
version("5.4.3", sha256="d82cd334b7a9b40d16ec4f4bb1fb5662382dcbfc86ee5e262413ed63d9e6a701")
version("5.4.0", sha256="261e05375024a01e68697c5d175210a07f0f5fc63a756234d996ddedffde78a2")
version("5.3.3", sha256="62a3b5f415bd8e0dcd0d68233d379f1a928ec0349977c32b4eea72ae5004e805")
@@ -106,12 +107,6 @@ class Rocblas(CMakePackage):
variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets), sticky=True)
variant("tensile", default=True, description="Use Tensile as a backend")
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
# gfx906, gfx908,gfx803,gfx900 are valid for @:4.0.0
# gfx803,gfx900,gfx:xnack-,gfx908:xnack- are valid gpus for @4.1.0:4.2.0
@@ -172,6 +167,8 @@ def check(self):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hip@" + ver, when="@" + ver)
depends_on("llvm-amdgpu@" + ver, type="build", when="@" + ver)
@@ -214,6 +211,8 @@ def check(self):
("@5.3.3", "006a5d653ce0d82fecb05d5e215d053749b57c04"),
("@5.4.0", "5aec08937473b27865fa969bb38a83bcf9463c2b"),
("@5.4.3", "5aec08937473b27865fa969bb38a83bcf9463c2b"),
("@5.5.0", "38d444a9f2b6cddfeaeedcb39a5688150fa27093"),
("@5.5.1", "38d444a9f2b6cddfeaeedcb39a5688150fa27093"),
]:
resource(
name="Tensile",
@@ -236,8 +235,8 @@ def check(self):
patch("0002-Fix-rocblas-clients-blas.patch", when="@4.2.0:4.3.1")
patch("0003-Fix-rocblas-gentest.patch", when="@4.2.0:5.1")
# Finding Python package and set command python as python3
patch("0004-Find-python.patch", when="@5.2.0:")
patch("0006-Guard-use-of-OpenMP-to-make-it-optional-5.4.patch", when="@5.4:")
patch("0004-Find-python.patch", when="@5.2.0:5.4")
patch("0006-Guard-use-of-OpenMP-to-make-it-optional-5.4.patch", when="@5.4")
def setup_build_environment(self, env):
env.set("CXX", self.spec["hip"].hipcc)
@@ -271,7 +270,6 @@ def cmake_args(self):
self.define("Tensile_TEST_LOCAL_PATH", tensile_path),
self.define("Tensile_COMPILER", "hipcc"),
self.define("Tensile_LOGIC", "asm_full"),
self.define("Tensile_CODE_OBJECT_VERSION", "V3"),
self.define("BUILD_WITH_TENSILE_HOST", "@3.7.0:" in self.spec),
]
if self.spec.satisfies("@3.7.0:"):
@@ -296,5 +294,9 @@ def cmake_args(self):
args.append(self.define("BUILD_FILE_REORG_BACKWARD_COMPATIBILITY", True))
if self.spec.satisfies("@5.3.0:"):
args.append("-DCMAKE_INSTALL_LIBDIR=lib")
if self.spec.satisfies("@:5.4"):
args.append(self.define("Tensile_CODE_OBJECT_VERSION", "V3"))
else:
args.append(self.define("Tensile_CODE_OBJECT_VERSION", "default"))
return args

View File

@@ -13,12 +13,13 @@ class Rocfft(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT/"
git = "https://github.com/ROCmSoftwarePlatform/rocFFT.git"
url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/rocfft/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath", "haampie")
libraries = ["librocfft"]
version("5.5.1", sha256="57423a64f5cdb1c37ff0891b6c17b59f73198d46be42db4ae23781ef2c0cd49d")
version("5.5.0", sha256="9288152e66504b06082e4eed8cdb791b4f9ae2836b3defbeb4d2b54901b96485")
version("5.4.3", sha256="ed9664adc9825c237327497bc4b23f020d50be7645647f14a45f4d943dd506e7")
version("5.4.0", sha256="d35a67332f4425fba1824eed78cf98d5c9a17a422614ff3f4cba2461df952336")
version("5.3.3", sha256="678c18710578c1fb36a0009311bb79de7607c3468f9102cfba56a866ebb7ff78")
@@ -101,12 +102,6 @@ class Rocfft(CMakePackage):
amdgpu_targets = ROCmPackage.amdgpu_targets
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets), sticky=True)
variant(
"amdgpu_target_sram_ecc", values=auto_or_any_combination_of(*amdgpu_targets), sticky=True
@@ -150,6 +145,8 @@ def check(self):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hip@" + ver, when="@" + ver)
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
@@ -159,7 +156,7 @@ def check(self):
patch("0002-Fix-clients-fftw3-include-dirs-rocm-4.2.patch", when="@4.2.0:4.3.1")
patch("0003-Fix-clients-fftw3-include-dirs-rocm-4.5.patch", when="@4.5.0:5.1")
# Patch to add install prefix header location for sqlite for 5.4
patch("0004-fix-missing-sqlite-include-paths.patch", when="@5.4.0:5.4")
patch("0004-fix-missing-sqlite-include-paths.patch", when="@5.4.0:5.5")
def setup_build_environment(self, env):
env.set("CXX", self.spec["hip"].hipcc)

View File

@@ -12,13 +12,14 @@ class RocmBandwidthTest(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test"
git = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test.git"
url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocm_bandwidth_test/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("master", branch="master")
version("5.5.1", sha256="768b3da49fe7d4bb4e6536a8ee15be9f5e865d961e813ed4a407f32402685e1f")
version("5.5.0", sha256="1070ce14d45f34c2c6b2fb003184f3ae735ccfd640e9df1c228988b2a5a82949")
version("5.4.3", sha256="a2f5a75bf47db1e39a4626a9f5cd2d120bcafe56b1baf2455d794f7a4734993e")
version("5.4.0", sha256="47a1ef92e565d5ce7a167cc1ebe3d4198cc04d598b259426245b8c11eb795677")
version("5.3.3", sha256="2bc079297e639d45d57c8017f6f47bc44d4ed34613ec76c80574bb703d79b498")
@@ -99,13 +100,6 @@ class RocmBandwidthTest(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
for ver in [
@@ -132,9 +126,14 @@ class RocmBandwidthTest(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
depends_on("hsakmt-roct@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
build_targets = ["package"]

View File

@@ -11,12 +11,13 @@ class RocmClangOcl(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/clang-ocl"
git = "https://github.com/RadeonOpenCompute/clang-ocl.git"
url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/clang-ocl/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("master", branch="master")
version("5.5.1", sha256="bfa62ad14830e2bd5afbc346685216c69f8cbef0eb449954f793178e10b19a38")
version("5.5.0", sha256="43a5459165693301ba2ebcc41b2b0705df9a3a47571d43bdc2cc49cfdd0833a7")
version("5.4.3", sha256="689e0354ea685bd488116de8eb902b902492e9ace184c3109b97b9a43f8b2d59")
version("5.4.0", sha256="602f8fb1f36587543cc0ee95fd1938f8eeb03de79119101e128150332cc8d89c")
version("5.3.3", sha256="549d5bf37507f67c5277abdeed4ec40b5d0edbfbb72907c685444c26b9ce6f8a")
@@ -97,13 +98,6 @@ class RocmClangOcl(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.5:", type="build")
for ver in [
@@ -130,6 +124,8 @@ class RocmClangOcl(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("rocm-cmake@%s:" % ver, type="build", when="@" + ver)
@@ -139,6 +135,8 @@ class RocmClangOcl(CMakePackage):
depends_on(
"rocm-device-libs@" + ver, when="@{0} ^llvm-amdgpu ~rocm-device-libs".format(ver)
)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
test_src_dir = "test"

View File

@@ -13,12 +13,14 @@ class RocmCmake(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/rocm-cmake"
git = "https://github.com/RadeonOpenCompute/rocm-cmake.git"
url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocm-cmake/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("master", branch="master")
version("5.5.1", sha256="60113412b35d94e20e8100ed3db688c35801991b4b8fa282fdc6fd6fd413fb6e")
version("5.5.0", sha256="b7884c346737eba70ae11044e41598b2482a92e21f3e0719b1ca11619f02a20b")
version("5.4.3", sha256="c185b3a10d191d73b76770ca0f9d6bdc355ee91fe0c9016a3779c9cfe042ba0f")
version("5.4.0", sha256="617faa9a1e51db3c7a59bd0393e054ab67e57be357d59cb0cd9b677f47824946")
version("5.3.3", sha256="3e527f99db52e301ab4f1b994029585951e2ae685f0cdfb7b8529c72f4b77af4")
@@ -99,16 +101,12 @@ class RocmCmake(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("cmake@3.6:", type="build", when="@4.1.0:")
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
test_src_dir = "test"
@run_after("install")

View File

@@ -0,0 +1,27 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class RocmCore(CMakePackage):
"""rocm-core is a utility which can be used to get ROCm release version.
It also provides the Lmod modules files for the ROCm release.
getROCmVersion function provides the ROCm version."""
homepage = "https://github.com/RadeonOpenCompute/rocm-core"
url = "https://github.com/RadeonOpenCompute/rocm-core/archive/refs/tags/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["librocm-core"]
version("5.5.1", sha256="bc73060432ffdc2e210394835d383890b9652476074ef4708d447473f273ce76")
version("5.5.0", sha256="684d3312bb14f05dc280cf136f5eddff38ba340cd85c383d6a217d8e27d3d57d")
def cmake_args(self):
args = [self.define("ROCM_VERSION", self.spec.version)]
return args

View File

@@ -16,14 +16,15 @@ class RocmDbgapi(CMakePackage):
homepage = "https://github.com/ROCm-Developer-Tools/ROCdbgapi"
git = "https://github.com/ROCm-Developer-Tools/ROCdbgapi.git"
url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/ROCdbgapi/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["librocm-dbgapi"]
version("master", branch="amd-master")
version("5.5.1", sha256="c41dfc62591bcf42003fe744d8bd03a51311d54e4b012f946ca0ede0c14dd977")
version("5.5.0", sha256="ce572340a3fe99e4f1538eb614933153456003f8dfe9306a5735cdd25b451e25")
version("5.4.3", sha256="d647c9121a50f2c54367c567d8f39a145cb135e1ceed931581659f57f49f61e5")
version("5.4.0", sha256="895eb7056864daada40c3f9cd37645b0bdf4b6dc408b5f8cc974fc4cd9ab7ccb")
version("5.3.3", sha256="3c81cb23fe671d391557a63c13b6a13d4dc367db5cb5de55592a6758284d8a3f")
@@ -104,14 +105,8 @@ class RocmDbgapi(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("hwdata", when="@5.5.0:")
for ver in [
"3.5.0",
@@ -137,11 +132,16 @@ class RocmDbgapi(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("hsa-rocr-dev@" + ver, type="build", when="@" + ver)
depends_on("comgr@" + ver, type=("build", "link"), when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)

View File

@@ -13,12 +13,13 @@ class RocmDebugAgent(CMakePackage):
homepage = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent"
git = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent.git"
url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/rocr_debug_agent/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["librocm-debug-agent"]
version("5.5.1", sha256="1bb66734f11bb57df6efa507f0217651446653bf28b3ca36acfcf94511a7c2bc")
version("5.5.0", sha256="4f2431a395a77a06dc417ed1e9188731b031a0c680e62c6eee19d60965317f5a")
version("5.4.3", sha256="b2c9ac198ea3cbf35e7e80f57c5d81c461de78b821d07b637ea4037a65cdf49f")
version("5.4.0", sha256="94bef73ea0a6d385dab2292ee591ca1dc268a5585cf9f1b5092a1530949f575e")
version("5.3.3", sha256="7170312d08e91334ee03586aa1f23d67f33d9ec0df25a5556cbfa3f210b15b06")
@@ -108,13 +109,6 @@ def url_for_version(self, version):
return url
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("elfutils@:0.168", type="link")
@@ -142,6 +136,8 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
depends_on("hsakmt-roct@" + ver, when="@" + ver)
@@ -169,10 +165,15 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-dbgapi@" + ver, when="@" + ver)
depends_on("hip@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
# https://github.com/ROCm-Developer-Tools/rocr_debug_agent/pull/4
patch("0001-Drop-overly-strict-Werror-flag.patch", when="@3.7.0:")
patch("0002-add-hip-architecture.patch", when="@3.9.0:")

View File

@@ -12,13 +12,14 @@ class RocmDeviceLibs(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs"
git = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git"
url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
version("master", branch="amd-stg-open")
version("5.5.1", sha256="3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833")
version("5.5.0", sha256="5ab95aeb9c8bed0514f96f7847e21e165ed901ed826cdc9382c14d199cbadbd3")
version("5.4.3", sha256="f4f7281f2cea6d268fcc3662b37410957d4f0bc23e0df9f60b12eb0fcdf9e26e")
version("5.4.0", sha256="d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951")
version("5.3.3", sha256="963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768")
@@ -99,13 +100,6 @@ class RocmDeviceLibs(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.13.4:", type="build", when="@3.9.0:")
depends_on("cmake@3.4.3:", type="build")
@@ -142,10 +136,15 @@ class RocmDeviceLibs(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("llvm-amdgpu@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
def cmake_args(self):
spec = self.spec
return [

View File

@@ -12,11 +12,12 @@ class RocmGdb(AutotoolsPackage):
based on GDB, the GNU source-level debugger."""
homepage = "https://github.com/ROCm-Developer-Tools/ROCgdb/"
url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/ROCgdb/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("5.5.1", sha256="359258548bc7e6abff16bb13c301339fb96560b2b961433c9e0712e4aaf2d9e1")
version("5.5.0", sha256="d3b100e332facd9635e328f5efd9f0565250edbe05be986baa2e0470a19bcd79")
version("5.4.3", sha256="28c1ce39fb1fabe61f86f6e3c6940c10f9a8b8de77f7bb4fdd73b04e172f85f6")
version("5.4.0", sha256="7ee984d99818da04733030b140c1f0929639bc719a5e418d53cc2c2a8cbc9a79")
version("5.3.3", sha256="9fc3ccd9378ad40f2f0c9577bc400cc9a202d0ae4656378813b67653b9023c46")
@@ -132,10 +133,15 @@ class RocmGdb(AutotoolsPackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-dbgapi@" + ver, type="link", when="@" + ver)
depends_on("comgr@" + ver, type="link", when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
build_directory = "spack-build"
def configure_args(self):

View File

@@ -29,7 +29,8 @@ def url_for_version(self, version):
return url.format(version)
version("master", branch="main")
version("5.5.1", sha256="a8a62a7c6fc5398406d2203b8cb75621a24944688e545d917033d87de2724498")
version("5.5.0", sha256="0df9fa0b8aa0c8e6711d34eec0fdf1ed356adcd9625bc8f1ce9b3e72090f3e4f")
version("5.4.3", sha256="b0f8339c844a2e62773bd85cd1e7c5ecddfe71d7c8e8d604e1a1d60900c30873")
version("5.4.0", sha256="a294639478e76c75dac0e094b418f9bd309309b07faf6af126cdfad9aab3c5c7")
version("5.3.3", sha256="cab394e6ef16c35bab8de29a66b96a7dc0e7d1297aaacba3718fa1d369233c9f")
@@ -110,18 +111,13 @@ def url_for_version(self, version):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
depends_on("gl@4.5:", type="link")
depends_on("numactl", type="link", when="@3.7.0:")
for d_version, d_shasum in [
("5.5.1", "1375fc7723cfaa0ae22a78682186d4804188b0a54990bfd9c0b8eb421b85e37e"),
("5.5.0", "efbae9a1ef2ab3de5ca44091e9bb78522e76759c43524c1349114f9596cc61d1"),
("5.4.3", "71d9668619ab57ec8a4564d11860438c5aad5bd161a3e58fbc49555fbd59182d"),
("5.4.0", "46a1579310b3ab9dc8948d0fb5bed4c6b312f158ca76967af7ab69e328d43138"),
("5.3.3", "f8133a5934f9c53b253d324876d74f08a19e2f5b073bc94a62fe64b0d2183a18"),
@@ -188,11 +184,16 @@ def url_for_version(self, version):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("comgr@" + ver, type="build", when="@" + ver)
depends_on("hsa-rocr-dev@" + ver, type="link", when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
@classmethod
def determine_version(cls, lib):
match = re.search(r"lib\S*\.so\.\d+\.\d+\.(\d)(\d\d)(\d\d)", lib)

View File

@@ -35,6 +35,8 @@
"c86141fcde879fc78d06a41ba6a26ff528da539c6a1be8b714f635182c66e3f4",
"bbca540897848fa95fd0f14fc05ab6deda31299a061424972d5e2bc09c7543dc",
"7f90634fb621169b21bcbd920c2e299acc88ba0eeb1a33fd40ae26e13201b652",
"23cc7d1c82e35c74f48285a0a1c27e7b3cae1767568bb7b9367ea21f53dd6598",
"9ec03a69cc462ada43e1fd4ca905a765b08c10e0911fb7a202c893cc577855e6",
]
devlib = [
@@ -58,6 +60,8 @@
"963c9a0561111788b55a8c3b492e2a5737047914752376226c97a28122a4d768",
"d68813ded47179c39914c8d1b76af3dad8c714b10229d1e2246af67609473951",
"f4f7281f2cea6d268fcc3662b37410957d4f0bc23e0df9f60b12eb0fcdf9e26e",
"5ab95aeb9c8bed0514f96f7847e21e165ed901ed826cdc9382c14d199cbadbd3",
"3b5f6dd85f0e3371f6078da7b59bf77d5b210e30f1cc66ef1e2de6bbcb775833",
]
llvm = [
@@ -81,6 +85,8 @@
"5296d5e474811c7d1e456cb6d5011db248b79b8d0512155e8a6c2aa5b5f12d38",
"ff54f45a17723892cd775c1eaff9e5860527fcfd33d98759223c70e3362335bf",
"a844d3cc01613f6284a75d44db67c495ac1e9b600eacbb1eb13d2649f5d5404d",
"5dc6c99f612b69ff73145bee17524e3712990100e16445b71634106acf7927cf",
"7d7181f20f89cb0715191aa32914186c67a34258c13457055570d47e15296553",
]
flang = [
@@ -104,6 +110,8 @@
"ddccd866d0c01086087fe21b5711668f85bcf9cbd9f62853f8bda32eaedb5339",
"fae8195a5e1b3778e31dbc6cbeedeae9998ea4b5a54215534af41e91fdcb8ba0",
"b283d76244d19ab16c9d087ee7de0d340036e9c842007aa9d288aa4e6bf3749f",
"a18522588686672150c7862f2b23048a429baa4a66010c4196e969cc77bd152c",
"7c3b4eb3e95b9e2f91234f202a76034628d230a92e57b7c5ee9dcca1097bec46",
]
extras = [
@@ -127,6 +135,8 @@
"b26b9f4b11a9ccfab53d0dd55aada7e5b98f7ab51981cb033b376321dd44bf87",
"2546becd4b182d1e366f47660c731c8ff7366b6306782f04706b6a7bf4e2094c",
"d393f27a85c9229433b50daee8154e11517160beb1049c1de9c55fc31dd11fac",
"8f49026a80eb8685cbfb6d3d3b9898dd083df4d71893984ae5330d4804c685fb",
"8955aa9d039fd6c1ff2e26d7298f0bf09bbcf03f09c6df92c91a9ab2510df9da",
]
versions = [
@@ -150,6 +160,8 @@
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]
versions_dict = dict() # type: Dict[str,Dict[str,str]]
components = ["aomp", "devlib", "llvm", "flang", "extras"]
@@ -167,10 +179,12 @@ class RocmOpenmpExtras(Package):
"""OpenMP support for ROCm LLVM."""
homepage = tools_url + "/aomp"
url = tools_url + "/aomp/archive/rocm-5.4.3.tar.gz"
url = tools_url + "/aomp/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "estewart08")
version("5.5.1", sha256=versions_dict["5.5.1"]["aomp"])
version("5.5.0", sha256=versions_dict["5.5.0"]["aomp"])
version("5.4.3", sha256=versions_dict["5.4.3"]["aomp"])
version("5.4.0", sha256=versions_dict["5.4.0"]["aomp"])
version("5.3.3", sha256=versions_dict["5.3.3"]["aomp"])
@@ -221,12 +235,17 @@ class RocmOpenmpExtras(Package):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hsakmt-roct@" + ver, when="@" + ver)
depends_on("comgr@" + ver, when="@" + ver)
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
depends_on("llvm-amdgpu@{0} ~openmp".format(ver), when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
# tag changed to 'rocm-' in 4.0.0
if ver == "3.9.0" or ver == "3.10.0":
tag = "rocm-uc-"

View File

@@ -18,14 +18,15 @@ class RocmSmiLib(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/rocm_smi_lib"
git = "https://github.com/RadeonOpenCompute/rocm_smi_lib.git"
url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
libraries = ["librocm_smi64"]
version("master", branch="master")
version("5.5.1", sha256="37f32350bfaf6c697312628696d1b1d5fd9165f183882759bc6cb9a5d65b9430")
version("5.5.0", sha256="0703f49b1c2924cc1d3f613258eabdff1925cb5bcf7cf22bb6b955dd065e4ce8")
version("5.4.3", sha256="34d550272e420684230ceb7845aefcef79b155e51cf9ec55e31fdba2a4ed177b")
version("5.4.0", sha256="4b110c9ec104ec39fc458b1b6f693662ab75395b75ed402b671d8e58c7ae63fe")
version("5.3.3", sha256="c2c2a377c2e84f0c40297a97b6060dddc49183c2771b833ebe91ed98a98e4119")
@@ -106,17 +107,13 @@ class RocmSmiLib(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant("shared", default=True, description="Build shared or static library")
depends_on("cmake@3:", type="build")
depends_on("python@3:", type=("build", "run"), when="@3.9.0:")
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
patch("disable_pdf_generation_with_doxygen_and_latex.patch", when="@4.5.2:")
def cmake_args(self):

View File

@@ -13,11 +13,13 @@ class RocmTensile(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/Tensile/"
git = "https://github.com/ROCmSoftwarePlatform/Tensile.git"
url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/Tensile/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
version("5.5.1", sha256="b65cb7335abe51ba33be9d46a5ede992b4e5932fa33797397899a6bf33a770e9")
version("5.5.0", sha256="70fd736d40bb4c3461f07c77ad3ae6c485e3e842671ce9b223d023d836884ae2")
version("5.4.3", sha256="a4c5e62edd33ea6b8528eb3f017a14c28eaa67c540f5c9023f6a245340198b0f")
version("5.4.0", sha256="2da9c1df3c6d9b44afdad621ef59a03389fb1a38a61a8b8bad9c9991b97157eb")
version("5.3.3", sha256="ecb99243edf1cd2bb5e953915a7dae7867c3cdb0cd8ed15b8618aaaeb2bd7b29")
@@ -113,12 +115,6 @@ class RocmTensile(CMakePackage):
"gfx1030",
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
variant("tensile_architecture", default="all", values=tensile_architecture, multi=True)
variant("openmp", default=True, description="Enable OpenMP")
conflicts("tensile_architecture=gfx906", when="@4.0.1:")
@@ -153,13 +149,26 @@ class RocmTensile(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-cmake@" + ver, type="build", when="@" + ver)
depends_on("hip@" + ver, when="@" + ver)
depends_on("comgr@" + ver, when="@" + ver)
depends_on("rocminfo@" + ver, type="build", when="@" + ver)
for ver in ["5.1.0", "5.1.3", "5.2.0", "5.2.1", "5.2.3", "5.3.0", "5.3.3", "5.4.0", "5.4.3"]:
for ver in [
"5.1.0",
"5.1.3",
"5.2.0",
"5.2.1",
"5.2.3",
"5.3.0",
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-openmp-extras@" + ver, when="@" + ver)
for ver in ["3.5.0", "3.7.0", "3.8.0", "3.9.0"]:
@@ -184,6 +193,8 @@ class RocmTensile(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("rocm-smi-lib@" + ver, type="build", when="@" + ver)
@@ -196,6 +207,7 @@ class RocmTensile(CMakePackage):
def setup_build_environment(self, env):
env.set("CXX", self.spec["hip"].hipcc)
env.append_flags("LDFLAGS", "-pthread")
def get_gpulist_for_tensile_support(self):
arch = self.spec.variants["tensile_architecture"].value

View File

@@ -16,11 +16,13 @@ class RocmValidationSuite(CMakePackage):
compatible platform."""
homepage = "https://github.com/ROCm-Developer-Tools/ROCmValidationSuite"
url = "https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCm-Developer-Tools/ROCmValidationSuite/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath")
version("5.5.1", sha256="0fbfaa9f68642b590ef04f9778013925bbf3f17bdcd35d4c85a8ffd091169a6e")
version("5.5.0", sha256="296add772171db67ab8838d2db1ea56df21e895c0348c038768e40146e4fe86a")
version("5.4.3", sha256="1f0888e559104a4b8c2f5322f7463e425f2baaf12aeb1a8982a5974516e7b667")
version("5.4.0", sha256="ca2abfa739c2853f71453e65787e318ab879be8a6a362c4cb4d27baa90f3cd5f")
version("5.3.3", sha256="9acbc8de9b2e18659f51bd49f6e92ab6c93742e2ed0046322025f017fc12497f")
@@ -101,13 +103,6 @@ class RocmValidationSuite(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
patch("001-fixes-for-rocblas-rocm-smi-install-prefix-path.patch", when="@4.1.0:4.3.2")
patch("002-remove-force-setting-hip-inc-path.patch", when="@4.1.0:4.3.2")
patch("003-cmake-change-to-remove-installs-and-sudo.patch", when="@4.1.0:4.3.2")
@@ -153,6 +148,8 @@ def setup_build_environment(self, build_env):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hip@" + ver, when="@" + ver)
depends_on("rocminfo@" + ver, when="@" + ver)

View File

@@ -12,13 +12,14 @@ class Rocminfo(CMakePackage):
homepage = "https://github.com/RadeonOpenCompute/rocminfo"
git = "https://github.com/RadeonOpenCompute/rocminfo.git"
url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/RadeonOpenCompute/rocminfo/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "haampie")
version("master", branch="master")
version("5.5.1", sha256="bcab27bb3595d5a4c981e2416458d169e85c27e603c22e743d9240473bfbe98a")
version("5.5.0", sha256="b6107d362b70e20a10911741eb44247139b4eb43489f7fa648daff880b6de37f")
version("5.4.3", sha256="72159eed31f8deee0df9228b9e306a18fe9efdd4d6c0eead871cad4617874170")
version("5.4.0", sha256="79123b92992cce75ae679caf9a6bf57b16d24e96e54b36eb002511f3800e29c6")
version("5.3.3", sha256="77e6adc81da6c1d153517e1d28db774205531a2ec188e6518f998328ef7897c6")
@@ -99,13 +100,6 @@ class Rocminfo(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
for ver in [
@@ -132,10 +126,15 @@ class Rocminfo(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
"master",
]:
depends_on("hsakmt-roct@" + ver, when="@" + ver)
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)
for ver in ["5.5.0", "5.5.1"]:
depends_on("rocm-core@" + ver, when="@" + ver)
def cmake_args(self):
return [self.define("ROCM_DIR", self.spec["hsa-rocr-dev"].prefix)]

View File

@@ -14,10 +14,11 @@ class Rocmlir(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rocMLIR"
git = "https://github.com/ROCmSoftwarePlatform/rocMLIR.git"
url = "https://github.com/ROCmSoftwarePlatform/rocMLIR/archive/refs/tags/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/rocMLIR/archive/refs/tags/rocm-5.5.0.tar.gz"
maintainers("srekolam")
version("5.5.1", commit="8c29325e7e68e3248e863172bf0e7f97055d45ee")
version("5.5.0", sha256="a5f62769d28a73e60bc8d61022820f050e97c977c8f6f6275488db31512e1f42")
version("5.4.3", sha256="c0ba0f565e1c6614c9e6091a24cbef67b734a29e4a4ed7a8a57dc43f58ed8d53")
version("5.4.0", sha256="3823f455ee392118c3281e27d45fa0e5381f3c4070eb4e06ba13bc6b34a90a60")
version("5.3.0", sha256="e8471a13cb39d33adff34730d3162adaa5d20f9544d61a6a94b39b9b5762ad6d")
@@ -46,7 +47,7 @@ def patch(self):
depends_on("half")
depends_on("pkgconfig", type="build")
for ver in ["5.3.0", "5.4.0", "5.4.3"]:
for ver in ["5.3.0", "5.4.0", "5.4.3", "5.5.0", "5.5.1"]:
depends_on("hip@" + ver, when="@" + ver)
depends_on("llvm-amdgpu@" + ver, when="@" + ver)
depends_on("hsa-rocr-dev@" + ver, when="@" + ver)

View File

@@ -11,11 +11,13 @@ class Rocprim(CMakePackage):
homepage = "https://github.com/ROCmSoftwarePlatform/rocPRIM"
git = "https://github.com/ROCmSoftwarePlatform/rocPRIM.git"
url = "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-5.4.3.tar.gz"
url = "https://github.com/ROCmSoftwarePlatform/rocPRIM/archive/rocm-5.5.0.tar.gz"
tags = ["rocm"]
maintainers("cgmb", "srekolam", "renjithravindrankannath")
version("5.5.1", sha256="63cdc682afb39efd18f097faf695ce64c851c4a550a8ad96fa89d694451b6a42")
version("5.5.0", sha256="968d9059f93d3f0f8a602f7b989e54e36cff2f9136486b6869e4534a5bf8c7d9")
version("5.4.3", sha256="7be6314a46195912d3203e7e59cb8880a46ed7c1fd221e92fadedd20532e0e48")
version("5.4.0", sha256="1740dca11c70ed350995331c292f7e3cb86273614e4a5ce9f0ea64dea5364318")
version("5.3.3", sha256="21a6b352ad3f5b2b7d05a5ed55e612feb3c5c19d34fdb8f80260b6d25af18b2d")
@@ -99,12 +101,6 @@ class Rocprim(CMakePackage):
amdgpu_targets = ROCmPackage.amdgpu_targets
variant("amdgpu_target", values=auto_or_any_combination_of(*amdgpu_targets), sticky=True)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3.10.2:", type="build", when="@4.2.0:")
depends_on("cmake@3.5.1:", type="build")
@@ -135,6 +131,8 @@ class Rocprim(CMakePackage):
"5.3.3",
"5.4.0",
"5.4.3",
"5.5.0",
"5.5.1",
]:
depends_on("hip@" + ver, when="@" + ver)
depends_on("comgr@" + ver, when="@" + ver)

View File

@@ -18,7 +18,6 @@ class RocprofilerDev(CMakePackage):
maintainers("srekolam", "renjithravindrankannath")
libraries = ["librocprofiler64"]
version("5.4.3", sha256="86c3f43ee6cb9808796a21409c853cc8fd496578b9eef4de67ca77830229cac1")
version("5.4.0", sha256="0322cbe5d1d3182e616f472da31f0707ad6040833c38c28f2b39381a85210f43")
version("5.3.3", sha256="07ee28f3420a07fc9d45910e78ad7961b388109cfc0e74cfdf2666789e6af171")
@@ -99,13 +98,6 @@ class RocprofilerDev(CMakePackage):
deprecated=True,
)
variant(
"build_type",
default="Release",
values=("Release", "Debug", "RelWithDebInfo"),
description="CMake build type",
)
depends_on("cmake@3:", type="build")
for ver in [
"3.5.0",
@@ -138,7 +130,6 @@ class RocprofilerDev(CMakePackage):
depends_on("roctracer-dev-api@" + ver, when="@" + ver)
depends_on("numactl", type="link", when="@4.3.1")
# See https://github.com/ROCm-Developer-Tools/rocprofiler/pull/50
patch("fix-includes.patch")
patch("0001-Continue-build-in-absence-of-aql-profile-lib.patch", when="@5.3:")

Some files were not shown because too many files have changed in this diff Show More