Skip to content

Precompile the compiler for devices without Float64 support - #746

Merged
maleadt merged 1 commit into
mainfrom
tb/precompile-fp64
Oct 27, 2026
Merged

maleadt merged 1 commit into
mainfrom
tb/precompile-fp64

Conversation

@maleadt

@maleadt maleadt commented Oct 27, 2026

Copy link
Copy Markdown
Member

On devices without Float64 support, method_tables adds float64_overrides, changing the method table type GPUCompiler's interpreter specializes on. The precompile workload covered only supports_fp64 = true. On devices such as Arc A-series GPUs, the first kernel compilation therefore inferred and compiled the interpreter from scratch: typeinf_local alone took 7.4 s. Precompile both settings to cover these devices.

Arc A770, Julia 1.12.7, median of 3 fresh processes:

main PR
first @oneapi launch in a session 8.61 s 2.41 s
first KernelAbstractions launch in a session 8.84 s 2.63 s
precompiling oneAPI.jl 34.6 s 41.4 s

Devices with Float64 support remain covered. The workload still compiles only on Julia 1.12+.

The full test suite passes on an Arc A770 (Julia 1.12.7).

Devices without Float64 support add `float64_overrides`, changing the
method table type GPUCompiler's interpreter specializes on. Precompile
both configurations to cut the first `@oneapi` launch on an Arc A770
from 8.6 s to 2.4 s.
@codecov

codecov Bot commented Oct 27, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 86.63%. Comparing base (446f8ac) to head (80c4df5).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/compiler/precompile.jl 87.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #746      +/-   ##
==========================================
- Coverage   86.89%   86.63%   -0.27%     
==========================================
  Files          55       55              
  Lines        5090     4997      -93     
==========================================
- Hits         4423     4329      -94     
- Misses        667      668       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@maleadt
maleadt merged commit 1ad4222 into main Oct 27, 2026
5 checks passed
@maleadt
maleadt deleted the tb/precompile-fp64 branch October 27, 2026 12:22
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.

1 participant