Skip to content

Commit 2020b31

Browse files
author
Raghuveer Devulapalli
committed
BLD: Link SVML FP16 only for latest assembler
1 parent 3131014 commit 2020b31

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

numpy/core/setup.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ def can_link_svml():
7979
and "linux" in platform
8080
and sys.maxsize > 2**31)
8181

82+
def can_link_svml_fp16():
83+
"""SVML FP16 requires binutils >= 2.38 for an updated assembler
84+
"""
85+
if can_link_svml():
86+
binutils_ver = os.popen("ld -v").readlines()[0].strip()[-4:]
87+
return float(binutils_ver) >= 2.38
88+
8289
def check_git_submodules():
8390
out = os.popen("git submodule status")
8491
modules = out.readlines()
@@ -1047,6 +1054,8 @@ def generate_umath_doc_header(ext, build_dir):
10471054
# The ordering of names returned by glob is undefined, so we sort
10481055
# to make builds reproducible.
10491056
svml_objs.sort()
1057+
if not can_link_svml_fp16():
1058+
svml_objs = [o for o in svml_objs if not o.endswith('_h_la.s')]
10501059

10511060
config.add_extension('_multiarray_umath',
10521061
# Forcing C language even though we have C++ sources.

0 commit comments

Comments
 (0)