Skip to content

Conversation

rolandschulz
Copy link

Closes #427


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"
export IGC_VISAOptions="-perfmodel"
export IGC_VectorAliasBBThreshold=10000
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 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

```
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 SYCL_PROGRAM_COMPILE_OPTIONS="-ze-opt-large-register-file"
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 SYCL_PROGRAM_COMPILE_OPTIONS="-ze-opt-large-register-file"
export IGC_VISAOptions="-perfmodel"
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.

@rolandschulz rolandschulz requested a review from tdeng5 September 4, 2025 21:12
@rolandschulz rolandschulz mentioned this pull request Sep 5, 2025
8 tasks
@rolandschulz
Copy link
Author

we decided it's better to set it from the code

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.

Set large GRF mode in cmake
3 participants