intel-xed: add version 2023.04.16 (#37582)
* intel-xed: add version 2023.04.16 1. add version 2023.04.16 2. adjust the mbuild resource to better match the xed version at the time 3. replace three conflicts() with one new requires() for x86_64 target 4. add patch for libxed-ild for some new avx512 instructions * [@spackbot] updating style on behalf of mwkrentel * Fix the build for 2023.04.16. XED requires its source directory to be exactly 'xed', so add a symlink. 5. move the mbuild resource up one level, xed wants it to be in the same directory as the xed source dir 6. deprecate 10.2019.03 * semantic style fix: add OSError to except * [@spackbot] updating style on behalf of mwkrentel --------- Co-authored-by: mwkrentel <mwkrentel@users.noreply.github.com>
This commit is contained in:
parent
bf45a2b6d3
commit
1a21376515
32
var/spack/repos/builtin/packages/intel-xed/libxed-ild.patch
Normal file
32
var/spack/repos/builtin/packages/intel-xed/libxed-ild.patch
Normal file
@ -0,0 +1,32 @@
|
||||
Fixes a bug where libxed-ild didn't understand some instructions.
|
||||
|
||||
https://github.com/intelxed/xed/issues/298
|
||||
|
||||
|
||||
diff --git a/src/dec/xed-ild.c b/src/dec/xed-ild.c
|
||||
index 8bf7cbe..0ab90ac 100644
|
||||
--- a/src/dec/xed-ild.c
|
||||
+++ b/src/dec/xed-ild.c
|
||||
@@ -1385,6 +1385,7 @@ void xed_ild_lookup_init(void) {
|
||||
void xed_ild_init(void) {
|
||||
init_prefix_table();
|
||||
xed_ild_lookup_init();
|
||||
+ xed_init_chip_model_info();
|
||||
#if defined(XED_EXTENSION_XOP_DEFINED)
|
||||
xed_ild_chip_init();
|
||||
#endif
|
||||
diff --git a/xed_mbuild.py b/xed_mbuild.py
|
||||
index db34179..5a7842c 100755
|
||||
--- a/xed_mbuild.py
|
||||
+++ b/xed_mbuild.py
|
||||
@@ -1081,7 +1081,8 @@ def build_xed_ild_library(env, lib_env, lib_dag, sources_to_replace):
|
||||
'xed-ild-disp-l3.c', # generated
|
||||
'xed-ild-eosz.c', # generated
|
||||
'xed-ild-easz.c', # generated
|
||||
- 'xed-ild-imm-l3.c'] # generated
|
||||
+ 'xed-ild-imm-l3.c', # generated
|
||||
+ 'xed-error-enum.c',] # generated
|
||||
common_objs = lib_env.make_obj(common_sources)
|
||||
|
||||
ild_objs += xbc.build_dir_join(lib_env, common_objs)
|
||||
|
@ -21,6 +21,7 @@ class IntelXed(Package):
|
||||
|
||||
# Current versions now have actual releases and tags.
|
||||
version("main", branch="main")
|
||||
version("2023.04.16", tag="v2023.04.16")
|
||||
version("2022.10.11", tag="v2022.10.11")
|
||||
version("2022.08.11", tag="v2022.08.11")
|
||||
version("2022.04.17", tag="v2022.04.17")
|
||||
@ -28,30 +29,31 @@ class IntelXed(Package):
|
||||
version("11.2.0", tag="11.2.0")
|
||||
|
||||
# The old 2019.03.01 version (before there were tags).
|
||||
version("10.2019.03", commit="b7231de4c808db821d64f4018d15412640c34113")
|
||||
version("10.2019.03", commit="b7231de4c808db821d64f4018d15412640c34113", deprecated=True)
|
||||
|
||||
resource(name="mbuild", placement="mbuild", git=mbuild_git, branch="main", when="@main")
|
||||
# XED wants the mbuild directory adjacent to xed in the same directory.
|
||||
mdir = join_path("..", "mbuild")
|
||||
|
||||
resource(name="mbuild", placement=mdir, git=mbuild_git, branch="main", when="@main")
|
||||
|
||||
# Match xed more closely with the version of mbuild at the time.
|
||||
resource(
|
||||
name="mbuild",
|
||||
placement="mbuild",
|
||||
git=mbuild_git,
|
||||
commit="09b6654be0c52bf1df44e88c88b411a67b624cbd",
|
||||
when="@:9999",
|
||||
name="mbuild", placement=mdir, git=mbuild_git, tag="v2022.07.28", when="@2022.07:9999"
|
||||
)
|
||||
|
||||
resource(name="mbuild", placement=mdir, git=mbuild_git, tag="v2022.04.17", when="@:2022.06")
|
||||
|
||||
variant("debug", default=False, description="Enable debug symbols")
|
||||
variant("pic", default=False, description="Compile with position independent code.")
|
||||
|
||||
# The current mfile uses python3 by name.
|
||||
depends_on("python@3.4:", type="build")
|
||||
depends_on("python@3.6:", type="build")
|
||||
|
||||
patch("1201-segv.patch", when="@12.0.1")
|
||||
patch("2019-python3.patch", when="@10.2019.03")
|
||||
patch("libxed-ild.patch", when="@12.0:2022.12")
|
||||
|
||||
conflicts("target=ppc64:", msg="intel-xed only runs on x86")
|
||||
conflicts("target=ppc64le:", msg="intel-xed only runs on x86")
|
||||
conflicts("target=aarch64:", msg="intel-xed only runs on x86")
|
||||
requires("target=x86_64:", msg="intel-xed only runs on x86/x86_64")
|
||||
|
||||
mycflags = [] # type: List[str]
|
||||
|
||||
@ -67,10 +69,19 @@ def flag_handler(self, name, flags):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# XED needs PYTHONPATH to find the mbuild directory.
|
||||
mbuild_dir = join_path(self.stage.source_path, "mbuild")
|
||||
mbuild_dir = join_path(self.stage.source_path, "..", "mbuild")
|
||||
python_path = os.getenv("PYTHONPATH", "")
|
||||
os.environ["PYTHONPATH"] = mbuild_dir + ":" + python_path
|
||||
|
||||
# In 2023.04.16, the xed source directory must be exactly 'xed',
|
||||
# so add a symlink, but don't fail if the link already exists.
|
||||
# See: https://github.com/intelxed/xed/issues/300
|
||||
try:
|
||||
lname = join_path(self.stage.source_path, "..", "xed")
|
||||
os.symlink("spack-src", lname)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
mfile = Executable(join_path(".", "mfile.py"))
|
||||
|
||||
args = ["-j", str(make_jobs), "--cc=%s" % spack_cc, "--no-werror"]
|
||||
|
Loading…
Reference in New Issue
Block a user