Skip to content

[SYCL][L0] Support for >4Gb device allocations.#3840

Merged
bader merged 1 commit into
intel:syclfrom
smaslov-intel:4gb
Jun 1, 2021
Merged

[SYCL][L0] Support for >4Gb device allocations.#3840
bader merged 1 commit into
intel:syclfrom
smaslov-intel:4gb

Conversation

@smaslov-intel

@smaslov-intel smaslov-intel commented May 27, 2021

Copy link
Copy Markdown
Contributor

E2E test is coming in intel/llvm-test-suite#298.
Signed-off-by: Sergey V Maslov sergey.v.maslov@intel.com

Signed-off-by: Sergey V Maslov <sergey.v.maslov@intel.com>
@bader

bader commented May 31, 2021

Copy link
Copy Markdown
Contributor

@smaslov-intel, please, address pre-commit failure.

@smaslov-intel

Copy link
Copy Markdown
Contributor Author

@smaslov-intel, please, address pre-commit failure.

@bader , the changes in PR revealed an issue in the Level Zero driver that is being addressed.
Should this wait for the updated driver or we can allow regression (it's really not a harmful one)?

@bader

bader commented Jun 1, 2021

Copy link
Copy Markdown
Contributor

@smaslov-intel, please, address pre-commit failure.

@bader , the changes in PR revealed an issue in the Level Zero driver that is being addressed.
Should this wait for the updated driver or we can allow regression (it's really not a harmful one)?

Let's mark these tests as "expected to fail" until driver update.

@smaslov-intel

Copy link
Copy Markdown
Contributor Author

@smaslov-intel, please, address pre-commit failure.

@bader , the changes in PR revealed an issue in the Level Zero driver that is being addressed.
Should this wait for the updated driver or we can allow regression (it's really not a harmful one)?

Let's mark these tests as "expected to fail" until driver update.

Disabled USM/badmalloc in intel/llvm-test-suite#298

@bader bader left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks!

@bader
bader merged commit fb1808b into intel:sycl Jun 1, 2021
bb-sycl pushed a commit that referenced this pull request Feb 18, 2023
…arget address hexadecimal form

This is similar to ADRP and matches GNU objdump:

GNU objdump:
```
0000000000200100 <_start>:
  200100:    adr    x0, 201000 <_start+0xf00>
```

llvm-objdump (before patch):
```
0000000000200100 <_start>:
  200100:    adr    x0, #3840
```

llvm-objdump (after patch):
```
0000000000200100 <_start>:
  200100:    adr    x0, 0x201000 <_start+0xf00>
```

Reviewed By: simon_tatham, peter.smith

Differential Revision: https://reviews.llvm.org/D144079
iclsrc pushed a commit that referenced this pull request Jul 17, 2026
Inspired by recent discussion whether we should validate each
instruction and what is cost for it - surprisingly the checks themselves
were cheap, the cost came from the way checkError was written.

The function constructed a std::stringstream unconditionally, *before*
the early-out taken when the condition is satisfied, and the SPIRVCK /
SPIRVCKRT macros built a std::string ("std::string() + (ErrMsg)") at
every call site. Both costs were therefore paid even on the error check
success path.

Moved "std::stringstream SS" past the early-out in checkError(). Added a
const char* checkError overload that returns before constructing any
std::string when the condition holds.
Changed SPIRVCK/SPIRVCKRT to pass the message through directly.

On OpVariable-heavy modules it improves translation time by 5-10%.

Assisted-By: Claude Fable 5

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@7d7593251d75942
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.

3 participants