Support applications using Intel icc and icx compilers on Windows (#82)

The blis.h header file includes a lot of BLIS internal definitions. Some of these caused problems
when using a BLIS library compiled with clang on Windows from an applications compiled with
the Intel icc and icx compilers. Workaround is to use "#ifdef BLIS_IS_BUILDING_LIBRARY" to
guard these definitions from being exposed to applications including blis.h. (The BLIS configure
and cmake builds systems automatically define BLIS_IS_BUILDING_LIBRARY only for compiling
the BLIS library.)

This patch implements the minimum changes to resolve the issue. Longer term, similar changes
may need to be added around all BLIS internal definitions in blis.h.

AMD-Internal: [CPUPL-6953]
This commit is contained in:
Smyth, Edward
2025-07-22 10:22:45 +01:00
committed by GitHub
parent 9e8c9e2764
commit 4bc5287f72
12 changed files with 54 additions and 10 deletions

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_XPBYS_H
#define BLIS_XPBYS_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// xpbys
// Notes:
@@ -187,5 +190,7 @@
#define bli_zxpbys( x, b, y ) bli_zzzxpbys( x, b, y )
#endif // BLIS_IS_BUILDING_LIBRARY
#endif

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_XPBYS_MXN_H
#define BLIS_XPBYS_MXN_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// xpbys_mxn
// Notes:
@@ -643,4 +646,6 @@ BLIS_INLINE void bli_zxpbys_mxn( const dim_t m, const dim_t n, dcomplex* restric
}
#endif // BLIS_IS_BUILDING_LIBRARY
#endif

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_XPBYS_MXN_UPLO_H
#define BLIS_XPBYS_MXN_UPLO_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// xpbys_mxn_u
#define bli_sssxpbys_mxn_u( diagoff, m, n, x, rs_x, cs_x, beta, y, rs_y, cs_y ) \
@@ -297,4 +300,6 @@
bli_zzzxpbys_mxn_l( diagoff, m, n, x, rs_x, cs_x, beta, y, rs_y, cs_y ); \
}
#endif // BLIS_IS_BUILDING_LIBRARY
#endif

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_AXPBYJRIS_H
#define BLIS_AXPBYJRIS_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// axpbyjris
#define bli_rxaxpbyjris( ar, ai, xr, xi, br, bi, yr, yi ) \
@@ -87,5 +90,7 @@
#define bli_caxpbyjris bli_ccccaxpbyjris
#define bli_zaxpbyjris bli_zzzzaxpbyjris
#endif // BLIS_IS_BUILDING_LIBRARY
#endif

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_AXPBYRIS_H
#define BLIS_AXPBYRIS_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// axpbyris
#define bli_rxaxpbyris( ar, ai, xr, xi, br, bi, yr, yi ) \
@@ -87,5 +90,7 @@
#define bli_caxpbyris bli_ccccaxpbyris
#define bli_zaxpbyris bli_zzzzaxpbyris
#endif // BLIS_IS_BUILDING_LIBRARY
#endif

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_XPBYJRIS_H
#define BLIS_XPBYJRIS_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// xpbyjris
#define bli_rxxpbyjris( xr, xi, br, bi, yr, yi ) \
@@ -158,5 +161,7 @@
#define bli_cxpbyjris bli_cccxpbyjris
#define bli_zxpbyjris bli_zzzxpbyjris
#endif // BLIS_IS_BUILDING_LIBRARY
#endif

View File

@@ -5,6 +5,7 @@
libraries.
Copyright (C) 2014, The University of Texas at Austin
Copyright (C) 2025, Advanced Micro Devices, Inc. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +36,8 @@
#ifndef BLIS_XPBYRIS_H
#define BLIS_XPBYRIS_H
#ifdef BLIS_IS_BUILDING_LIBRARY
// xpbyris
#define bli_rxxpbyris( xr, xi, br, bi, yr, yi ) \
@@ -158,5 +161,7 @@
#define bli_cxpbyris bli_cccxpbyris
#define bli_zxpbyris bli_zzzxpbyris
#endif // BLIS_IS_BUILDING_LIBRARY
#endif