Skip to content

Commit b9c21e4

Browse files
Drop ICC support in code (#3279)
* Drop ICC from code Fixes: #3278 Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
1 parent 4b9b6a4 commit b9c21e4

File tree

115 files changed

+95
-534
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+95
-534
lines changed

CMakePresets.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"CCCL_ENABLE_TESTING": false,
2323
"CCCL_ENABLE_EXAMPLES": false,
2424
"CCCL_ENABLE_C": false,
25-
"CCCL_SUPPRESS_ICC_DEPRECATION_WARNING": true,
2625
"CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING": true,
2726
"libcudacxx_ENABLE_INSTALL_RULES": true,
2827
"CUB_ENABLE_INSTALL_RULES": true,

cmake/CCCLBuildCompilerTargets.cmake

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
2323
option(CCCL_ENABLE_EXCEPTIONS "Enable exceptions within CCCL libraries." ON)
2424
option(CCCL_ENABLE_RTTI "Enable RTTI within CCCL libraries." ON)
2525
option(CCCL_ENABLE_WERROR "Treat warnings as errors for CCCL targets." ON)
26-
option(CCCL_SUPPRESS_ICC_DEPRECATION_WARNING "Suppress Intel Compiler deprecation warnings" OFF)
2726
option(CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING "Suppress Visual Studio 2017 deprecation warnings" OFF)
2827

2928
function(cccl_build_compiler_interface interface_target cuda_compile_options cxx_compile_options compile_defs)
@@ -69,10 +68,6 @@ function(cccl_build_compiler_targets)
6968
list(APPEND cxx_compile_definitions "CCCL_DISABLE_RTTI")
7069
endif()
7170

72-
if (CCCL_SUPPRESS_ICC_DEPRECATION_WARNING)
73-
list(APPEND cxx_compile_definitions "CCCL_SUPPRESS_ICC_DEPRECATION_WARNING")
74-
endif()
75-
7671
if (CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING)
7772
list(APPEND cxx_compile_definitions "CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING")
7873
endif()
@@ -160,16 +155,6 @@ function(cccl_build_compiler_targets)
160155
endif()
161156
endif()
162157

163-
if ("Intel" STREQUAL "${CMAKE_CXX_COMPILER_ID}")
164-
# Do not flush denormal floats to zero
165-
append_option_if_available("-no-ftz" cxx_compile_options)
166-
# Disable warning that inlining is inhibited by compiler thresholds.
167-
append_option_if_available("-diag-disable=11074" cxx_compile_options)
168-
append_option_if_available("-diag-disable=11076" cxx_compile_options)
169-
# Disable warning about deprecated classic compiler
170-
append_option_if_available("-diag-disable=10441" cxx_compile_options)
171-
endif()
172-
173158
cccl_build_compiler_interface(cccl.compiler_interface
174159
"${cuda_compile_options}"
175160
"${cxx_compile_options}"

cub/cub/detail/fast_modulo_division.cuh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,6 @@ multiply_extract_higher_bits(T value, R multiplier)
109109
{
110110
static_assert(supported_integral<T>::value, "unsupported type");
111111
static_assert(supported_integral<R>::value, "unsupported type");
112-
_CCCL_DIAG_PUSH
113-
_CCCL_DIAG_SUPPRESS_ICC(186) // pointless comparison of unsigned integer with zero
114112
_CCCL_IF_CONSTEXPR (_CCCL_TRAIT(::cuda::std::is_signed, T))
115113
{
116114
_CCCL_ASSERT(value >= 0, "value must be non-negative");
@@ -119,7 +117,6 @@ multiply_extract_higher_bits(T value, R multiplier)
119117
{
120118
_CCCL_ASSERT(multiplier >= 0, "multiplier must be non-negative");
121119
}
122-
_CCCL_DIAG_POP
123120
static constexpr int NumBits = sizeof(DivisorType) * CHAR_BIT;
124121
using unsigned_t = unsigned_implicit_prom_t<DivisorType>;
125122
using larger_t = larger_unsigned_type_t<DivisorType>;

cub/cub/util_macro.cuh

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,6 @@ _CCCL_DIAG_SUPPRESS_CLANG("-Wattributes")
112112
# if !_CCCL_CUDA_COMPILER(NVHPC)
113113
_CCCL_DIAG_SUPPRESS_NVHPC(attribute_requires_external_linkage)
114114
# endif // !_CCCL_CUDA_COMPILER(NVHPC)
115-
# if _CCCL_COMPILER(ICC)
116-
# pragma nv_diag_suppress 1407 // the "__visibility__" attribute can only appear on functions and
117-
// variables with external linkage'
118-
# pragma warning(disable : 1890) // the "__visibility__" attribute can only appear on functions and
119-
// variables with external linkage'
120-
# endif // _CCCL_COMPILER(ICC)
121115
#endif // !CUB_DISABLE_KERNEL_VISIBILITY_WARNING_SUPPRESSION
122116

123117
#ifndef CUB_DEFINE_KERNEL_GETTER

cub/cub/util_type.cuh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ CUB_NAMESPACE_BEGIN
8282
# endif // !defined(__CUDACC_RTC_INT128__)
8383
# else // !defined(__CUDACC_RTC__)
8484
# if _CCCL_CUDACC_AT_LEAST(11, 5)
85-
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(ICC) || _CCCL_COMPILER(NVHPC)
85+
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(NVHPC)
8686
# define CUB_IS_INT128_ENABLED 1
87-
# endif // GCC || CLANG || ICC || NVHPC
87+
# endif // GCC || CLANG || NVHPC
8888
# endif // _CCCL_CUDACC_AT_LEAST(11, 5)
8989
# endif // !defined(__CUDACC_RTC__)
9090
#endif // !defined(CUB_IS_INT128_ENABLED)

cub/test/catch2_test_device_for_each_in_extents.cu

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static auto fill_linear_impl(c2h::host_vector<T>& vector, const ExtentType&, siz
5555
_CCCL_TRAILING_REQUIRES(void)((Rank == ExtentType::rank()))
5656
{
5757
vector[pos++] = {indices...};
58-
return void(); // Intel and nvc++ require a return statement
58+
return void(); // nvc++ requires a return statement
5959
}
6060

6161
template <int Rank = 0, typename T, typename ExtentType, typename... IndicesType>
@@ -67,7 +67,7 @@ static auto fill_linear_impl(c2h::host_vector<T>& vector, const ExtentType& ext,
6767
{
6868
fill_linear_impl<Rank + 1>(vector, ext, pos, indices..., i);
6969
}
70-
return void(); // Intel and nvc++ require a return statement
70+
return void(); // nvc++ requires a return statement
7171
}
7272

7373
template <typename T, typename IndexType, size_t... Extents>

cudax/include/cuda/experimental/__detail/config.cuh

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,9 @@
3535
// two attributes:
3636
// - `_CUDAX_API` declares the function host/device and hides the symbol from the ABI
3737
// - `_CUDAX_TRIVIAL_API` does the same while also forcing inlining and hiding the function from debuggers
38-
#if _CCCL_COMPILER(ICC) // ICC has issues with visibility attributes on symbols with internal linkage
39-
# define _CUDAX_API _CCCL_HOST_DEVICE
40-
# define _CUDAX_HOST_API _CCCL_HOST
41-
# define _CUDAX_DEVICE_API _CCCL_DEVICE
42-
#else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
43-
# define _CUDAX_API _CCCL_HOST_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
44-
# define _CUDAX_HOST_API _CCCL_HOST _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
45-
# define _CUDAX_DEVICE_API _CCCL_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
46-
#endif // !_CCCL_COMPILER(ICC)
38+
#define _CUDAX_API _CCCL_HOST_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
39+
#define _CUDAX_HOST_API _CCCL_HOST _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
40+
#define _CUDAX_DEVICE_API _CCCL_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
4741

4842
// _CUDAX_TRIVIAL_API force-inlines a function, marks its visibility as hidden, and causes debuggers to skip it.
4943
// This is useful for trivial internal functions that do dispatching or other plumbing work. It is particularly

docs/repo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ doxygen_predefined = [
157157
"_CCCL_DIAG_POP=",
158158
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
159159
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
160-
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
161160
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
162161
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
163162
"_CCCL_DOXYGEN_INVOKED",
@@ -270,7 +269,6 @@ doxygen_predefined = [
270269
"_CCCL_DIAG_POP=",
271270
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
272271
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
273-
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
274272
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
275273
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
276274
"CUDASTF_HOST=",
@@ -435,7 +433,6 @@ doxygen_predefined = [
435433
"_CCCL_DIAG_POP=",
436434
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
437435
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
438-
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
439436
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
440437
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
441438
"_CCCL_REQUIRES(x)= ::cuda::std::enable_if_t<x, int> = 0>",

libcudacxx/cmake/DetermineGCCCompatible.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,5 @@ if(NOT DEFINED LLVM_COMPILER_IS_GCC_COMPATIBLE)
77
set(LLVM_COMPILER_IS_GCC_COMPATIBLE OFF)
88
elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
99
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
10-
elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel" )
11-
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
1210
endif()
1311
endif()

libcudacxx/include/cuda/std/__cccl/assert.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,9 @@ _CCCL_HOST_DEVICE
7979
__attribute__((__noreturn__));
8080
}
8181
# endif // NDEBUG
82-
// ICC cannot deal with `__builtin_expect` in the constexpr evaluator, so just drop it
83-
# if _CCCL_COMPILER(ICC)
84-
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
85-
static_cast<bool>(expression) ? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__);
86-
# else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
87-
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
88-
_CCCL_BUILTIN_EXPECT(static_cast<bool>(expression), 1) \
89-
? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__)
90-
# endif // !_CCCL_COMPILER(ICC)
82+
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
83+
_CCCL_BUILTIN_EXPECT(static_cast<bool>(expression), 1) \
84+
? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__)
9185
#endif // !MSVC STL
9286

9387
//! Use custom implementations with nvcc on device and the host ones with clang-cuda and nvhpc

0 commit comments

Comments
 (0)