-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Modify configure script #1421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, I like the idea of new options. But I doubt these changes will be propagated to buildbot pre-commit. If I'm not mistaken, some changes on the server side are also required. Contents of .github/workflows/linux_postcommit.yml
only affects post-commit builds.
@@ -35,7 +35,7 @@ jobs: | |||
mkdir -p $GITHUB_WORKSPACE/build | |||
cd $GITHUB_WORKSPACE/build | |||
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \ | |||
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release --no-ocl $ARGS | |||
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release --werror $ARGS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to keep this option ON by default, so contributors can't miss new warnings locally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no problem, i can swap this around, however i am noticing some -Werror=class-conversion:
FAILED: tools/sycl/source/CMakeFiles/sycl.dir/detail/builtins_math.cpp.o
/usr/bin/c++ -DUSE_PI_CUDA -DXPTI_ENABLE_INSTRUMENTATION -DXPTI_STATIC_LIBRARY -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Dsycl_EXPORTS -Itools/sycl/source -IXXX/llvm/sycl/source -I/usr/include/libxml2 -Iinclude -IXXX/llvm/llvm/include -IXXX/llvm/xpti/include -IXXX/llvm/sycl/include -Itools/sycl/OpenCL/inc -isystem /opt/cuda/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -Wextra -Wno-deprecated-declarations -Werror -O3 -fPIC -UNDEBUG -std=c++11 -MD -MT tools/sycl/source/CMakeFiles/sycl.dir/detail/builtins_math.cpp.o -MF tools/sycl/source/CMakeFiles/sycl.dir/detail/builtins_math.cpp.o.d -o tools/sycl/source/CMakeFiles/sycl.dir/detail/builtins_math.cpp.o -c XXX/llvm/sycl/source/detail/builtins_math.cpp
In file included from XXX/llvm/sycl/include/CL/sycl/types.hpp:53,
from XXX/llvm/sycl/source/detail/builtins_helper.hpp:12,
from XXX/llvm/sycl/source/detail/builtins_math.cpp:18:
XXX/llvm/sycl/include/CL/sycl/multi_ptr.hpp:520:3: error: converting ‘cl::sycl::multi_ptr<const void, Space>’ to the same type will never use a type conversion operator [-Werror=class-conversion]
520 | operator multi_ptr<const void, Space>() const {
| ^~~~~~~~
this comes using c++ (Arch Linux 9.3.0-1) 9.3.0
.
The idea was to ease the path for people wanting to compile intel/llvm using werror=OFF.
This reveals another one:
In function ‘void cl::sycl::detail::initValue(const char*, const char*)’,
inlined from ‘void cl::sycl::detail::readConfig()’ at XXX/llvm/sycl/source/detail/config.cpp:96:16:
XXX/llvm/sycl/source/detail/config.cpp:42:12: warning: ‘char* strncpy(char*, const char*, size_t)’ output may be truncated copying 1 byte from a string of length 255 [-Wstringop-truncation]
42 | strncpy(SYCLConfigBase<Name>::MStorage, Value, MaxSize); \
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
XXX/llvm/sycl/source/detail/config.def:14:1: note: in expansion of macro ‘CONFIG’
14 | CONFIG(SYCL_DISABLE_EXECUTION_GRAPH_CLEANUP, 1, __SYCL_DISABLE_EXECUTION_GRAPH_CLEANUP)
| ^~~~~~
So, the most elegant would be to fix these and add a more recent version of g++ to buildbot.
Then make werror default but a flag to disable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a strong opinion on that. As long as CI prevents new warnings - I can configure my local builds as I want.
I'd like to hear what others think about this.
So, i will modify the pr to do only the following instead: add for the Is that okay? |
@hiaselhans, thanks! I would still proceed with
@DoyleLi, does it make sense to you? |
#1434 is merged.
AFAIK, BuildBot doesn't set |
* use "--no-ocl" by default -> new "--system-ocl" flag (use system OpenCl headers and do not download) * don't use "DSYCL_WERROR" by default, only on buildbot * don't exclude buildbot dir in gitignore Signed-off-by: hiaselhans <simon.klemenc@gmail.com>
c99de5b
to
7aeb2d4
Compare
Signed-off-by: hiaselhans <simon.klemenc@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I'd like @vladimirlaz or @DoyleLi to approve before merging.
thanks! :) |
…_private_api * origin/sycl: (614 commits) [SYCL][Doc] Update prerequisites in GetStartedGuide (intel#1466) [SYCL][USM] Remove vestigial dead code (intel#1474) [SYCL-PTX] Fix __spirv_GroupAsyncCopy stride computation (intel#1451) [Driver][SYCL] Emit an error if c compilation is forced (intel#1438) [SYCL] Fix sycl-post-link when no split and symbols are requested. (intel#1454) [SYCL] Change priority of devices in default_selector (intel#1264) [CI] Update CODEOWNERS matching rules order (intel#1468) [SYCL] Share PFWG lambda object through shared memory (intel#1455) [CI] Fix CODEOWNERS file syntax (intel#1464) [SYCL][CUDA] Fix active context when creating base event (intel#1447) [SYCL] Diagnose implicit declaration of kernel function type (intel#1450) [BuildBot] Modify configure script (intel#1421) [SYCL] Resolve min/max conflict (intel#1339) [CI][BuildBot] Fix configure parameter to turn on/off assertions (intel#1449) [SYCL] XFAIL LIT test due to duplicate diagnostic [SYCL] Remove explicit sycl_device attribute requirement Apply more suggestions Apply suggestions Translate new set of Intel FPGA Loop Controls Translate Intel FPGA force_pow2_depth memory attribute ...
…c_abi_checks * origin/sycl: (625 commits) [SYCL][Test] Disable spec_const_redefine.cpp on all devices but HOST (intel#1488) [SYCL] Only export public API (intel#1456) [SYCL][CUDA] Fix selected_binary argument in piextDeviceSelectBinary (intel#1475) [SYCL] Enable LIT testing with CUDA BE (intel#1458) [SYCL] Fix float to half-type conversion (intel#1395) [NFC] Cleanup unneded macro from builtins implementation (intel#1445) Enable cfg-printer LLVM lit tests only if LLVM linked statically (intel#1479) [SYCL][NFC] Reflect the "allowlist" renaming in the code (intel#1480) [SYCL][Doc] Update prerequisites in GetStartedGuide (intel#1466) [SYCL][USM] Remove vestigial dead code (intel#1474) [SYCL-PTX] Fix __spirv_GroupAsyncCopy stride computation (intel#1451) [Driver][SYCL] Emit an error if c compilation is forced (intel#1438) [SYCL] Fix sycl-post-link when no split and symbols are requested. (intel#1454) [SYCL] Change priority of devices in default_selector (intel#1264) [CI] Update CODEOWNERS matching rules order (intel#1468) [SYCL] Share PFWG lambda object through shared memory (intel#1455) [CI] Fix CODEOWNERS file syntax (intel#1464) [SYCL][CUDA] Fix active context when creating base event (intel#1447) [SYCL] Diagnose implicit declaration of kernel function type (intel#1450) [BuildBot] Modify configure script (intel#1421) ...
OpenCl headers and do not download)
Signed-off-by: hiaselhans simon.klemenc@gmail.com