Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions cmake/FindDPCPP.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,11 @@ function(add_sycl_to_target)
get_target_property(target_type ${CUTLASS_ADD_SYCL_TARGET} TYPE)
if (NOT target_type STREQUAL "OBJECT_LIBRARY")
target_link_options(${CUTLASS_ADD_SYCL_TARGET} PUBLIC ${DPCPP_FLAGS})
if("${DPCPP_SYCL_TARGET}" STREQUAL "intel_gpu_pvc" OR
"${DPCPP_SYCL_TARGET}" STREQUAL "spir64" OR
"${DPCPP_SYCL_TARGET}" STREQUAL "intel_gpu_bmg_g21")
target_link_options(${CUTLASS_ADD_SYCL_TARGET} PRIVATE -Xs "-options -ze-opt-large-register-file")
endif()
endif()
endfunction()

Expand Down
7 changes: 0 additions & 7 deletions media/docs/cpp/build/building_with_sycl_support.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,7 @@ $ CC=clang CXX=clang++ cmake .. -G Ninja \

CMake will check that DPC++ compiler is available in the system,
and it will download the MKL library if it cannot find it.
To get better performance result we require the following combinations of the environment variables flags to provide better performance hints for generating optimised code. For ahead of time (AOT) compilation, the following options have to be set during compilation and for Just in time (JIT) Compilation when running
Copy link
Author

Choose a reason for hiding this comment

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

They are still needed for spir64 target. But because we don't describe that option I don't think this needs to be mentioned.


```
export SYCL_PROGRAM_COMPILE_OPTIONS="-ze-opt-large-register-file"
Copy link
Author

@rolandschulz rolandschulz Jun 26, 2025

Choose a reason for hiding this comment

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

This is now set by this PR for AOT. Before this was only used for JIT (in which case this env-variable is used).

export IGC_VISAOptions="-perfmodel"
Copy link
Author

Choose a reason for hiding this comment

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

I don't think this is needed for anything. Anyone remember why this is here?

export IGC_VectorAliasBBThreshold=10000
Copy link
Author

Choose a reason for hiding this comment

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

This was already added automatically before.

export IGC_ExtraOCLOptions="-cl-intel-256-GRF-per-thread"
Copy link
Author

@rolandschulz rolandschulz Jun 26, 2025

Choose a reason for hiding this comment

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

This was anyhow redundant for -ze-opt-large-register-file (in the JIT case)

```
To build and run a simple PVC gemm example run the commands below.

```
Expand Down
Loading