Skip to content

Conversation

cperkinsintel
Copy link
Contributor

@cperkinsintel cperkinsintel commented Jan 8, 2025

We can use experimental filesystem when compiling SYCL with GCC 7, which means we can remove the #ifdef hacks from the kernel_compiler.

@cperkinsintel cperkinsintel marked this pull request as ready for review January 8, 2025 19:28
@cperkinsintel cperkinsintel requested a review from a team as a code owner January 8, 2025 19:28
Copy link
Contributor

@uditagarwal97 uditagarwal97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
#else
#error "kernel_compiler sycl requires C++ filesystem support"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#error "kernel_compiler sycl requires C++ filesystem support"
#error "kernel_compiler requires C++ filesystem support"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kernel_compiler requires C++ filesystem support for compiling SYCL C++ code. But it can compile OpenCL C without it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I don't understand the meaning of sycl in this context. Is this the part of the file name or the name of the standard?
If this text refers to the name of the standard it must use capital letters.

Where is kernel_compiler term defined? Is this some abbreviation of the sycl_ext_oneapi_kernel_compiler extension name?

// and much of the cross-platform file handling code depends upon it.
// Given that this extension is experimental and that the file
// handling aspects are most likely temporary, it makes sense to
// simply not support GCC<8.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to this comment DPC++ doesn't support GCC 7 and older.

[SYCL] kernel_compiler remove GCC < 8 workarounds.

I would change the PR description to say that this patch adds support for GCC 7 rather than just removes the GCC< 8 workarounds. It's hard to say which GCC version is guaranteed to work, but I think GCC 7 is the first version supporting most of C++17 features. C++17 support is the main requirement for SYCL host compiler.

@againull againull merged commit 03cb2b2 into intel:sycl Jan 9, 2025
17 checks passed
KornevNikita pushed a commit that referenced this pull request Feb 25, 2025
We can use experimental filesystem when compiling SYCL with GCC 7, which
means we can remove the #ifdef hacks from the kernel_compiler.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants