Compare commits
45 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad0b70a64a | ||
|
|
b5444e4304 | ||
|
|
e1d5d34b56 | ||
|
|
e5b4607548 | ||
|
|
ecdd8e035c | ||
|
|
9d9e4a52f5 | ||
|
|
9e0629213c | ||
|
|
51fa4e5fc4 | ||
|
|
8908b7584e | ||
|
|
936c6045fc | ||
|
|
ca2e9cf090 | ||
|
|
288b3c3ec2 | ||
|
|
31bb259a12 | ||
|
|
a74dd96773 | ||
|
|
9594fb47e1 | ||
|
|
62cfe1ab47 | ||
|
|
8c417b3ccc | ||
|
|
52c0127fc7 | ||
|
|
2c74b433aa | ||
|
|
8bdfaf4ae5 | ||
|
|
eb19f59fb1 | ||
|
|
856834537a | ||
|
|
fba019f0be | ||
|
|
cc0ac7093b | ||
|
|
711d67090a | ||
|
|
5ce667de6a | ||
|
|
a77e6ea639 | ||
|
|
3a661803ce | ||
|
|
c6ed2227f2 | ||
|
|
bd9f8ba094 | ||
|
|
c7b849bdee | ||
|
|
3f4012cf44 | ||
|
|
e3b2e5b2cd | ||
|
|
b2ed10dd83 | ||
|
|
1c3dc0bd5f | ||
|
|
f28a2ccee2 | ||
|
|
12d86ffb6a | ||
|
|
fde1954c13 | ||
|
|
3ad65bbfc1 | ||
|
|
f017f586df | ||
|
|
399271832b | ||
|
|
4bcceddba9 | ||
|
|
0fff219aa4 | ||
|
|
ac3c0a4347 | ||
|
|
cc2fa9895e |
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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")
|
||||
|
||||
148
var/spack/repos/builtin/packages/ams/package.py
Normal file
148
var/spack/repos/builtin/packages/ams/package.py
Normal 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
|
||||
@@ -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")
|
||||
|
||||
25
var/spack/repos/builtin/packages/bfs/package.py
Normal file
25
var/spack/repos/builtin/packages/bfs/package.py
Normal 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}")
|
||||
@@ -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"
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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",
|
||||
]:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
]:
|
||||
|
||||
@@ -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",
|
||||
]:
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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",
|
||||
@@ -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"
|
||||
)
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
83
var/spack/repos/builtin/packages/mruby/config.rb
Normal file
83
var/spack/repos/builtin/packages/mruby/config.rb
Normal 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
|
||||
56
var/spack/repos/builtin/packages/mruby/package.py
Normal file
56
var/spack/repos/builtin/packages/mruby/package.py
Normal 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)
|
||||
31
var/spack/repos/builtin/packages/mtn/package.py
Normal file
31
var/spack/repos/builtin/packages/mtn/package.py
Normal 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")
|
||||
27
var/spack/repos/builtin/packages/mvapich2/fix-torque.patch
Normal file
27
var/spack/repos/builtin/packages/mvapich2/fix-torque.patch
Normal 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"
|
||||
;;
|
||||
@@ -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 );
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
48
var/spack/repos/builtin/packages/odgi/package.py
Normal file
48
var/spack/repos/builtin/packages/odgi/package.py
Normal 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
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
18
var/spack/repos/builtin/packages/py-barectf/package.py
Normal file
18
var/spack/repos/builtin/packages/py-barectf/package.py
Normal 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")
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
124
var/spack/repos/builtin/packages/redis-ai/package.py
Normal file
124
var/spack/repos/builtin/packages/redis-ai/package.py
Normal 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"))
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
27
var/spack/repos/builtin/packages/rocm-core/package.py
Normal file
27
var/spack/repos/builtin/packages/rocm-core/package.py
Normal 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
|
||||
@@ -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)
|
||||
|
||||
@@ -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:")
|
||||
|
||||
@@ -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 [
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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-"
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user