Skip to content
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

[SYCL][Graph] Verbose E2E error messages #336

Closed
wants to merge 43 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
cf5fc60
[SYCL][OpenCL] Fetch the adapter source from the UR repo (#11566)
fabiomestre Oct 23, 2023
956c580
[SYCL][Bindless] Replace mipmap read_image with read_mipmap (#11616)
Seanst98 Oct 23, 2023
083783c
Fix bad merge in BackendUtil.cpp (#11621)
Oct 23, 2023
87ff465
[SYCL][E2E] Remove reliance on library loading ordering in test (#11520)
cppchedy Oct 23, 2023
803a77f
[SYCL][ESIMD] Add more stringent compile time checks for accessor ver…
fineg74 Oct 23, 2023
e213fe2
[SYCL][CUDA][HIP] Deprecate context interop for CUDA and HIP (#10975)
hdelan Oct 23, 2023
89f689e
[SYCL][clang-offload-bundler] Add support for BC files in archives. (…
LU-JOHN Oct 23, 2023
144737f
[SYCL][Joint Matrix] Fix tests to fail, when result is NaN (#11633)
YuriPlyakhin Oct 23, 2023
3847c7c
[SYCL] Add -fsycl-add-default-spec-consts-image command line option t…
maksimsab Oct 23, 2023
9be40b5
[SYCL] Defer diagnostics about usage of SEH (#11619)
premanandrao Oct 23, 2023
2f2c486
[NFC][Devops] CODEOWNERS: add initial owners for sycl e2e-tests (#11595)
stdale-intel Oct 23, 2023
7afc2d0
[SYCL] Clarify runtime error for nested kernel submissions (#11583)
0x12CC Oct 23, 2023
ff64511
[SYCL] [NATIVECPU] Implement missing math builtins for scalar data ty…
PietroGhg Oct 24, 2023
444afde
[LinkerWrapper][NFC] Fix extra copy issue (#11636)
asudarsa Oct 24, 2023
67a81f6
[SYCL][Graph] Refactor node storage inside graphs (#11596)
Bensuo Oct 24, 2023
718a80a
[SYCL][FPGA] Add AST tests for loop attributes (#11428)
smanna12 Oct 24, 2023
a459aa9
Bump urllib3 from 2.0.6 to 2.0.7 in /llvm/utils/git (#11572)
dependabot[bot] Oct 24, 2023
d4df692
[SYCL] Provide initialization for variable (#11639)
frasercrmck Oct 24, 2023
63e3ec7
[SYCL][CUDA] Fix priority parameter on interop queue (#11487)
npmiller Oct 24, 2023
6f24808
[Driver][SYCL] Enable early AOT abilities when creating objects (#11130)
mdtoguchi Oct 24, 2023
9da6668
[SYCL] Add an user-defined copy constructor (#11637)
eunakim0103 Oct 24, 2023
a5d5738
[ESIMD][NFC] Fix several NFC issues in atomic_update() implementation…
v-klochkov Oct 24, 2023
29d988d
[DevOps] Fix CODEOWNERS after #11595 (#11650)
aelovikov-intel Oct 24, 2023
f0031fa
[SYCL][DOC] Minor fixes for sycl_ext_oneapi_prefetch (#11627)
KornevNikita Oct 25, 2023
64fb410
[SYCL][Joint Matrix] Remove duplicated matrix_multiply_ref in tests (…
YuriPlyakhin Oct 25, 2023
afb1c3b
[SYCL][Test E2E] Remove extra quote in illegal_BE_error.cpp (#11660)
maarquitos14 Oct 25, 2023
993fe5b
[SYCL][Driver] Enable SPV_INTEL_optnone extension for non-fpga target…
wenju-he Oct 25, 2023
6d48bc1
[SYCL][Driver] Make -fintelfpga imply -fsycl (#11334)
srividya-sundaram Oct 25, 2023
7b94ac1
[SYCL][InvokeSimd] Allow uniform structure arguments and return (#11647)
sarnex Oct 25, 2023
08febcf
[SYCL] Add -fpreview-breaking-changes option (#11629)
steffenlarsen Oct 25, 2023
06f7bbf
[SYCL][Fusion] Add HIP support (#11003)
Naghasan Oct 25, 2023
49d7da4
[SYCL] Quote CMake command in buildbot.py output (#11658)
al42and Oct 25, 2023
d3636ac
fpga_mem/fpga_datapath clarifications (#11387)
artemrad Oct 25, 2023
9bc2bba
[NFC][DEVOPS] CODEOWNERS: Remove esimd emulator plugin owner (#11663)
stdale-intel Oct 25, 2023
adced54
[SYCL][Matrix][E2E] make joint_matrix_transposeC_impl.hpp simpler: ju…
yubingex007-a11y Oct 25, 2023
ffabf44
[SYCL] Add arithmetic overloaded operators for annotated_arg (#11117)
yug-intel Oct 25, 2023
7d9bda9
[SYCL][E2E] Fix some e2e test problems (#11655)
yingcong-wu Oct 25, 2023
f7bf29b
[SYCL][XPTI] Performance improvements to XPTI streams (#11651)
tovinkere Oct 25, 2023
6afeb2b
[SYCL][Joint Matrix][Tests] Add tests for 16x16x16 and 32x64x32 joint…
dkhaldi Oct 25, 2023
de1b485
[SYCL][NFC] Add `cuda` requirement for CUDA tests (#11664)
0x12CC Oct 25, 2023
331e513
[CI] Remove ESIMD Emu container dependency (#11261)
turinevgeny Oct 26, 2023
8d7396d
[SYCL][ESIMD] Add more stringent compile time checks to local_accesso…
fineg74 Oct 26, 2023
d65e8d9
[SYCL][Graph] Verbose E2E error messages
EwanC Oct 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,11 @@ sycl/doc/extensions/ @intel/dpcpp-specification-reviewers

# Level Zero plugin
sycl/plugins/level_zero/ @intel/dpcpp-l0-pi-reviewers
sycl/test-e2e/Plugin/*level-zero* @intel/dpcpp-l0-pi-reviewers

# Unified Runtime plugin
sycl/plugins/unified_runtime/ @intel/dpcpp-l0-pi-reviewers

# ESIMD CPU emulator plug-in
sycl/plugins/esimd_emulator/ @intel/dpcpp-esimd-reviewers

# CUDA and HIP plugins
sycl/plugins/**/cuda/ @intel/llvm-reviewers-cuda
sycl/plugins/**/hip/ @intel/llvm-reviewers-cuda
Expand Down Expand Up @@ -84,6 +82,7 @@ esimd/ @intel/dpcpp-esimd-reviewers
sycl/include/sycl/ext/intel/esimd.hpp @intel/dpcpp-esimd-reviewers
sycl/doc/extensions/**/sycl_ext_intel_esimd/ @intel/dpcpp-esimd-reviewers
llvm/lib/SYCLLowerIR/CMakeLists.txt @intel/dpcpp-tools-reviewers @intel/dpcpp-esimd-reviewers
sycl/test-e2e/ESIMD/ @intel/dpcpp-esimd-reviewers

# invoke_simd
sycl/include/sycl/ext/oneapi/experimental/invoke_simd.hpp @intel/dpcpp-esimd-reviewers @rolandschulz
Expand All @@ -92,6 +91,7 @@ llvm/lib/SYCLLowerIR/LowerInvokeSimd.cpp @intel/dpcpp-esimd-reviewers
llvm/include/llvm/SYCLLowerIR/LowerInvokeSimd.h @intel/dpcpp-esimd-reviewers
invoke_simd/ @intel/dpcpp-esimd-reviewers
InvokeSimd/ @intel/dpcpp-esimd-reviewers
sycl/test-e2e/InvokeSimd/ @intel/dpcpp-esimd-reviewers

# DevOps configs
.github/ @intel/dpcpp-devops-reviewers
Expand Down Expand Up @@ -145,3 +145,11 @@ sycl/include/sycl/ext/oneapi/bindless* @intel/bindless-images-reviewers
sycl/source/detail/bindless* @intel/bindless-images-reviewers
sycl/plugins/unified_runtime/ur/adapters/**/image.* @intel/bindless-images-reviewers
sycl/test-e2e/bindless_images/ @intel/bindless-images-reviewers

# Miscellaneous sycl e2e tests
sycl/test-e2e/BFloat16/ @intel/dpcpp-tools-reviewers @intel/llvm-reviewers-runtime
sycl/test-e2e/AOT/ @intel/dpcpp-tools-reviewers
sycl/test-e2e/DeviceCodeSplit/ @intel/dpcpp-tools-reviewers
sycl/test-e2e/SeparateCompile/ @intel/dpcpp-tools-reviewers
sycl/test-e2e/Printf/ @intel/dpcpp-tools-reviewers @intel/llvm-reviewers-runtime
sycl/test-e2e/SpecConstants/ @intel/dpcpp-tools-reviewers
9 changes: 8 additions & 1 deletion buildbot/configure.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import argparse
import os
import platform
import shlex
import subprocess
import sys

Expand Down Expand Up @@ -51,6 +52,7 @@ def do_configure(args):
llvm_build_shared_libs = 'OFF'
llvm_enable_lld = 'OFF'
sycl_enabled_plugins = ["opencl"]
sycl_preview_lib = 'ON'

sycl_enable_xpti_tracing = 'ON'
xpti_enable_werror = 'OFF'
Expand Down Expand Up @@ -141,6 +143,9 @@ def do_configure(args):
if args.enable_plugin:
sycl_enabled_plugins += args.enable_plugin

if args.disable_preview_lib:
sycl_preview_lib = 'OFF'

install_dir = os.path.join(abs_obj_dir, "install")

cmake_cmd = [
Expand Down Expand Up @@ -174,6 +179,7 @@ def do_configure(args):
"-DSYCL_CLANG_EXTRA_FLAGS={}".format(sycl_clang_extra_flags),
"-DSYCL_ENABLE_PLUGINS={}".format(';'.join(set(sycl_enabled_plugins))),
"-DSYCL_ENABLE_KERNEL_FUSION={}".format(sycl_enable_fusion),
"-DSYCL_ENABLE_MAJOR_RELEASE_PREVIEW_LIB={}".format(sycl_preview_lib),
"-DBUG_REPORT_URL=https://github.com/intel/llvm/issues",
]

Expand Down Expand Up @@ -204,7 +210,7 @@ def do_configure(args):
"-DSYCL_LIBCXX_INCLUDE_PATH={}".format(args.libcxx_include),
"-DSYCL_LIBCXX_LIBRARY_PATH={}".format(args.libcxx_library)])

print("[Cmake Command]: {}".format(" ".join(cmake_cmd)))
print("[Cmake Command]: {}".format(" ".join(map(shlex.quote, cmake_cmd))))

try:
subprocess.check_call(cmake_cmd, cwd=abs_obj_dir)
Expand Down Expand Up @@ -256,6 +262,7 @@ def main():
parser.add_argument("--llvm-external-projects", help="Add external projects to build. Add as comma seperated list.")
parser.add_argument("--ci-defaults", action="store_true", help="Enable default CI parameters")
parser.add_argument("--enable-plugin", action='append', help="Enable SYCL plugin")
parser.add_argument("--disable-preview-lib", action='store_true', help="Disable building of the SYCL runtime major release preview library")
parser.add_argument("--disable-fusion", action="store_true", help="Disable the kernel fusion JIT compiler")
parser.add_argument("--add_security_flags", type=str, choices=['none', 'default', 'sanitize'], default=None, help="Enables security flags for compile & link. Two values are supported: 'default' and 'sanitize'. 'Sanitize' option is an extension of 'default' set.")
args = parser.parse_args()
Expand Down
3 changes: 3 additions & 0 deletions clang/include/clang/Basic/DiagnosticDriverKinds.td
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,9 @@ def err_drv_no_rdc_sycl_target_missing : Error<
"linked binaries do not contain expected '%0' target; found targets: '%1', this is not supported with '-fno-sycl-rdc'">;
def err_drv_fsycl_wrong_optimization_options : Error<
"-fsycl-optimize-non-user-code option can be used only in conjunction with %0">;
def warn_drv_fsycl_add_default_spec_consts_image_flag_in_non_AOT : Warning<
"-fsycl-add-default-spec-consts-image flag has an effect only in Ahead of Time Compilation mode (AOT).">,
InGroup<SyclTarget>;
def err_drv_multiple_target_with_forced_target : Error<
"multiple target usage with '%0' is not supported with '%1'">;
def err_drv_failed_to_deduce_target_from_arch : Error<
Expand Down
9 changes: 9 additions & 0 deletions clang/include/clang/Driver/Action.h
Original file line number Diff line number Diff line change
Expand Up @@ -629,11 +629,20 @@ class OffloadUnbundlingJobAction final : public JobAction {
DependentOffloadKind(DependentOffloadKind) {}
};

/// Allow for a complete override of the target to unbundle.
/// This is used for specific unbundles used for SYCL AOT when generating full
/// device files that are bundled with the host object.
void setTargetString(std::string Target) { TargetString = Target; }

std::string getTargetString() const { return TargetString; }

private:
/// Container that keeps information about each dependence of this unbundling
/// action.
SmallVector<DependentActionInfo, 6> DependentActionInfoArray;

std::string TargetString;

public:
// Offloading unbundling doesn't change the type of output.
OffloadUnbundlingJobAction(Action *Input);
Expand Down
27 changes: 26 additions & 1 deletion clang/include/clang/Driver/Options.td
Original file line number Diff line number Diff line change
Expand Up @@ -1306,6 +1306,14 @@ defm cuda_prec_sqrt : BoolFOption<"cuda-prec-sqrt",
def emit_static_lib : Flag<["--"], "emit-static-lib">,
HelpText<"Enable linker job to emit a static library.">;

def fpreview_breaking_changes : Flag<["-"], "fpreview-breaking-changes">, Flags<[NoXarchOption]>,
Visibility<[ClangOption, CLOption]>,
HelpText<"When specified, it informs the compiler driver and compilation phases "
"that it is allowed to break backward compatibility. When this option is "
"specified the compiler will also set the macro __INTEL_PREVIEW_BREAKING_CHANGES.\n"
"When this option is used in conjunction with -fsycl, the driver will link against "
"an alternate form of libsycl, libsycl-preview.">;

def mprintf_kind_EQ : Joined<["-"], "mprintf-kind=">, Group<m_Group>,
HelpText<"Specify the printf lowering scheme (AMDGPU only), allowed values are "
"\"hostcall\"(printing happens during kernel execution, this scheme "
Expand Down Expand Up @@ -3743,6 +3751,16 @@ def fsycl_device_code_split_esimd : Flag<["-"], "fsycl-device-code-split-esimd">
Visibility<[ClangOption, CLOption, DXCOption]>, HelpText<"split ESIMD device code from SYCL into a separate device binary image (default). Has effect only for SPIR-based targets. (experimental)">;
def fno_sycl_device_code_split_esimd : Flag<["-"], "fno-sycl-device-code-split-esimd">,
Visibility<[ClangOption, CLOption, DXCOption]>, HelpText<"do not split ESIMD and SYCL device code into separate device binary images. Has effect only for SPIR-based targets. (experimental)">;
defm sycl_add_default_spec_consts_image : BoolOptionWithoutMarshalling<"f", "sycl-add-default-spec-consts-image",
PosFlag<SetTrue, [], [ClangOption],
"Generates a copy of every device image that uses a specialization constant and "
"replaces all usages of specialization constant with default values specified by specialization_id. "
"If a device image doesn't use a specialization constant at all then no copy is generated. "
"This option is only useful if used in conjunction with Ahead of Time Compilation (-fsycl-target command line option).">,
NegFlag<SetFalse, [], [ClangOption],
"Turns off generation of device image where all specialization constant usages are replaced "
"with default values.">
>;
defm sycl_instrument_device_code
: BoolFOption<"sycl-instrument-device-code",
CodeGenOpts<"SPIRITTAnnotations">, DefaultFalse,
Expand Down Expand Up @@ -3848,7 +3866,14 @@ def ftarget_register_alloc_mode_EQ : Joined<["-"], "ftarget-register-alloc-mode=
HelpText<"Specify a register allocation mode for specific hardware for use by supported "
"target backends.">;
def : Flag<["-"], "fsycl-rdc">, Visibility<[ClangOption, CLOption, DXCOption]>, Alias<fgpu_rdc>;
def : Flag<["-"], "fno-sycl-rdc">, Visibility<[ClangOption, CLOption, DXCOption]>, Alias<fno_gpu_rdc>;
def : Flag<["-"], "fno-sycl-rdc">,
Visibility<[ClangOption, CLOption, DXCOption]>, Alias<fno_gpu_rdc>,
HelpText<"Generate relocatable device code during SYCL offload target "
"compilation. Use of ‘-fno-sycl-rdc’ in combination with ‘-c’ will "
"produce final device binaries within the generated fat object. "
"When using this option, each kernel must be self-contained within "
"its translation unit (source file). Therefore, the use of "
"SYCL_EXTERNAL is disallowed when this option is enabled.">;
def fsycl_optimize_non_user_code : Flag<["-"], "fsycl-optimize-non-user-code">,
Visibility<[ClangOption, CLOption, DXCOption, CC1Option]>,
MarshallingInfoFlag<CodeGenOpts<"OptimizeSYCLFramework">>,
Expand Down
6 changes: 4 additions & 2 deletions clang/lib/Basic/TargetInfo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -517,9 +517,11 @@ void TargetInfo::adjust(DiagnosticsEngine &Diags, LangOptions &Opts) {
if (Opts.FakeAddressSpaceMap)
AddrSpaceMap = &FakeAddrSpaceMap;

if (Opts.SYCLIsDevice && Opts.SYCLIsNativeCPU) {
if ((Opts.SYCLIsDevice || Opts.OpenCL) && Opts.SYCLIsNativeCPU) {
// For SYCL Native CPU we use the NVPTXAddrSpaceMap because
// we need builtins to be mangled with AS information
// we need builtins to be mangled with AS information.
// This is also enabled in OpenCL mode so that mangling
// matches when building libclc.

static const unsigned SYCLNativeCPUASMap[] = {
0, // Default
Expand Down
2 changes: 0 additions & 2 deletions clang/lib/CodeGen/BackendUtil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1079,8 +1079,6 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
});
}

const bool PrepareForThinOrUnifiedLTO =
PrepareForThinLTO || (PrepareForLTO && CodeGenOpts.UnifiedLTO);
if (CodeGenOpts.DisableSYCLEarlyOpts) {
MPM.addPass(PB.buildO0DefaultPipeline(OptimizationLevel::O0,
PrepareForLTO || PrepareForThinLTO));
Expand Down
Loading
Loading