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

Implement a CPU backend using POCL #556

Merged
merged 1 commit into from
Feb 17, 2025
Merged

Implement a CPU backend using POCL #556

merged 1 commit into from
Feb 17, 2025

Conversation

vchuravy
Copy link
Member

@vchuravy vchuravy commented Jan 15, 2025

TODO:

Copy link
Contributor

github-actions bot commented Jan 15, 2025

Benchmark Results

main 0dcdc8b... main/0dcdc8b2f1e506...
saxpy/default/Float16/1024 0.0568 ± 0.026 ms 0.0527 ± 0.026 ms 1.08
saxpy/default/Float16/1048576 0.893 ± 0.025 ms 0.89 ± 0.025 ms 1
saxpy/default/Float16/16384 0.0675 ± 0.028 ms 0.0616 ± 0.026 ms 1.09
saxpy/default/Float16/2048 0.0599 ± 0.023 ms 0.0504 ± 0.023 ms 1.19
saxpy/default/Float16/256 0.0635 ± 0.027 ms 0.0473 ± 0.027 ms 1.34
saxpy/default/Float16/262144 0.272 ± 0.026 ms 0.268 ± 0.026 ms 1.01
saxpy/default/Float16/32768 0.0776 ± 0.028 ms 0.075 ± 0.027 ms 1.03
saxpy/default/Float16/4096 0.0647 ± 0.025 ms 0.0558 ± 0.025 ms 1.16
saxpy/default/Float16/512 0.0604 ± 0.026 ms 0.047 ± 0.027 ms 1.28
saxpy/default/Float16/64 0.064 ± 0.027 ms 0.0571 ± 0.028 ms 1.12
saxpy/default/Float16/65536 0.112 ± 0.028 ms 0.102 ± 0.026 ms 1.1
saxpy/default/Float32/1024 0.0535 ± 0.026 ms 0.0522 ± 0.026 ms 1.03
saxpy/default/Float32/1048576 0.478 ± 0.026 ms 0.47 ± 0.057 ms 1.02
saxpy/default/Float32/16384 0.0588 ± 0.027 ms 0.0558 ± 0.025 ms 1.05
saxpy/default/Float32/2048 0.0546 ± 0.024 ms 0.0474 ± 0.024 ms 1.15
saxpy/default/Float32/256 0.0616 ± 0.026 ms 0.052 ± 0.028 ms 1.18
saxpy/default/Float32/262144 0.168 ± 0.035 ms 0.157 ± 0.035 ms 1.07
saxpy/default/Float32/32768 0.0643 ± 0.027 ms 0.0614 ± 0.025 ms 1.05
saxpy/default/Float32/4096 0.0639 ± 0.025 ms 0.0516 ± 0.025 ms 1.24
saxpy/default/Float32/512 0.06 ± 0.026 ms 0.0484 ± 0.028 ms 1.24
saxpy/default/Float32/64 0.0631 ± 0.026 ms 0.048 ± 0.028 ms 1.31
saxpy/default/Float32/65536 0.0838 ± 0.029 ms 0.0753 ± 0.029 ms 1.11
saxpy/default/Float64/1024 0.0579 ± 0.026 ms 0.0465 ± 0.026 ms 1.24
saxpy/default/Float64/1048576 0.512 ± 0.051 ms 0.502 ± 0.045 ms 1.02
saxpy/default/Float64/16384 0.0604 ± 0.027 ms 0.0569 ± 0.026 ms 1.06
saxpy/default/Float64/2048 0.0523 ± 0.024 ms 0.0475 ± 0.023 ms 1.1
saxpy/default/Float64/256 0.0613 ± 0.026 ms 0.0553 ± 0.028 ms 1.11
saxpy/default/Float64/262144 0.176 ± 0.029 ms 0.174 ± 0.03 ms 1.01
saxpy/default/Float64/32768 0.0666 ± 0.027 ms 0.0647 ± 0.026 ms 1.03
saxpy/default/Float64/4096 0.0627 ± 0.025 ms 0.0506 ± 0.025 ms 1.24
saxpy/default/Float64/512 0.0606 ± 0.026 ms 0.0473 ± 0.028 ms 1.28
saxpy/default/Float64/64 0.0607 ± 0.027 ms 0.0469 ± 0.028 ms 1.3
saxpy/default/Float64/65536 0.0917 ± 0.027 ms 0.0835 ± 0.027 ms 1.1
saxpy/static workgroup=(1024,)/Float16/1024 0.0535 ± 0.026 ms 0.0459 ± 0.026 ms 1.17
saxpy/static workgroup=(1024,)/Float16/1048576 0.901 ± 0.028 ms 0.901 ± 0.031 ms 1
saxpy/static workgroup=(1024,)/Float16/16384 0.0613 ± 0.026 ms 0.0596 ± 0.024 ms 1.03
saxpy/static workgroup=(1024,)/Float16/2048 0.0575 ± 0.024 ms 0.0501 ± 0.024 ms 1.15
saxpy/static workgroup=(1024,)/Float16/256 0.0631 ± 0.026 ms 0.049 ± 0.027 ms 1.29
saxpy/static workgroup=(1024,)/Float16/262144 0.272 ± 0.028 ms 0.267 ± 0.027 ms 1.02
saxpy/static workgroup=(1024,)/Float16/32768 0.0774 ± 0.026 ms 0.0721 ± 0.024 ms 1.07
saxpy/static workgroup=(1024,)/Float16/4096 0.0631 ± 0.027 ms 0.052 ± 0.027 ms 1.21
saxpy/static workgroup=(1024,)/Float16/512 0.057 ± 0.026 ms 0.0442 ± 0.026 ms 1.29
saxpy/static workgroup=(1024,)/Float16/64 0.0598 ± 0.026 ms 0.0494 ± 0.027 ms 1.21
saxpy/static workgroup=(1024,)/Float16/65536 0.107 ± 0.026 ms 0.101 ± 0.025 ms 1.07
saxpy/static workgroup=(1024,)/Float32/1024 0.0556 ± 0.026 ms 0.0545 ± 0.026 ms 1.02
saxpy/static workgroup=(1024,)/Float32/1048576 0.465 ± 0.028 ms 0.459 ± 0.048 ms 1.01
saxpy/static workgroup=(1024,)/Float32/16384 0.0551 ± 0.026 ms 0.0526 ± 0.024 ms 1.05
saxpy/static workgroup=(1024,)/Float32/2048 0.0511 ± 0.023 ms 0.0458 ± 0.023 ms 1.12
saxpy/static workgroup=(1024,)/Float32/256 0.0629 ± 0.025 ms 0.0506 ± 0.026 ms 1.24
saxpy/static workgroup=(1024,)/Float32/262144 0.161 ± 0.035 ms 0.151 ± 0.034 ms 1.07
saxpy/static workgroup=(1024,)/Float32/32768 0.0605 ± 0.027 ms 0.058 ± 0.025 ms 1.04
saxpy/static workgroup=(1024,)/Float32/4096 0.0598 ± 0.026 ms 0.0475 ± 0.026 ms 1.26
saxpy/static workgroup=(1024,)/Float32/512 0.0612 ± 0.025 ms 0.0467 ± 0.026 ms 1.31
saxpy/static workgroup=(1024,)/Float32/64 0.0617 ± 0.025 ms 0.0508 ± 0.026 ms 1.22
saxpy/static workgroup=(1024,)/Float32/65536 0.079 ± 0.029 ms 0.0714 ± 0.028 ms 1.11
saxpy/static workgroup=(1024,)/Float64/1024 0.0581 ± 0.026 ms 0.0465 ± 0.026 ms 1.25
saxpy/static workgroup=(1024,)/Float64/1048576 0.504 ± 0.041 ms 0.497 ± 0.041 ms 1.02
saxpy/static workgroup=(1024,)/Float64/16384 0.0566 ± 0.026 ms 0.0545 ± 0.025 ms 1.04
saxpy/static workgroup=(1024,)/Float64/2048 0.0525 ± 0.024 ms 0.0464 ± 0.024 ms 1.13
saxpy/static workgroup=(1024,)/Float64/256 0.0594 ± 0.025 ms 0.0492 ± 0.026 ms 1.21
saxpy/static workgroup=(1024,)/Float64/262144 0.173 ± 0.03 ms 0.169 ± 0.031 ms 1.02
saxpy/static workgroup=(1024,)/Float64/32768 0.0652 ± 0.026 ms 0.062 ± 0.025 ms 1.05
saxpy/static workgroup=(1024,)/Float64/4096 0.0596 ± 0.026 ms 0.0485 ± 0.026 ms 1.23
saxpy/static workgroup=(1024,)/Float64/512 0.0587 ± 0.026 ms 0.0453 ± 0.026 ms 1.3
saxpy/static workgroup=(1024,)/Float64/64 0.06 ± 0.025 ms 0.0445 ± 0.026 ms 1.35
saxpy/static workgroup=(1024,)/Float64/65536 0.0901 ± 0.028 ms 0.08 ± 0.028 ms 1.13
time_to_load 1.12 ± 0.012 s 1.12 ± 0.01 s 0.998

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

Copy link

codecov bot commented Jan 28, 2025

Codecov Report

Attention: Patch coverage is 0% with 879 lines in your changes missing coverage. Please review.

Project coverage is 0.00%. Comparing base (da32c2b) to head (0dcdc8b).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/pocl/nanoOpenCL.jl 0.00% 517 Missing ⚠️
src/pocl/device/array.jl 0.00% 101 Missing ⚠️
src/pocl/backend.jl 0.00% 93 Missing ⚠️
src/pocl/compiler/execution.jl 0.00% 43 Missing ⚠️
src/pocl/compiler/compilation.jl 0.00% 32 Missing ⚠️
src/pocl/device/quirks.jl 0.00% 24 Missing ⚠️
src/pocl/compiler/reflection.jl 0.00% 23 Missing ⚠️
src/pocl/pocl.jl 0.00% 20 Missing ⚠️
src/pocl/device/runtime.jl 0.00% 13 Missing ⚠️
src/macros.jl 0.00% 6 Missing ⚠️
... and 2 more
Additional details and impacted files
@@          Coverage Diff           @@
##            main    #556    +/-   ##
======================================
  Coverage   0.00%   0.00%            
======================================
  Files         12      21     +9     
  Lines        796    1584   +788     
======================================
- Misses       796    1584   +788     

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

@vchuravy vchuravy changed the base branch from main to vc/barriers February 4, 2025 15:18
@vchuravy vchuravy changed the base branch from vc/barriers to main February 5, 2025 12:29
Copy link
Member Author

vchuravy commented Feb 5, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@vchuravy vchuravy mentioned this pull request Feb 5, 2025
@vchuravy vchuravy marked this pull request as ready for review February 5, 2025 12:43
@vchuravy vchuravy force-pushed the vc/pocl branch 8 times, most recently from 6fb1cea to 8098378 Compare February 6, 2025 14:48
end

# math.jl
@device_override @noinline Base.Math.throw_complex_domainerror(f::Symbol, x) =
Copy link
Member Author

Choose a reason for hiding this comment

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

@maleadt this will be fun.

@vchuravy vchuravy force-pushed the vc/pocl branch 4 times, most recently from 0121280 to ed2ee63 Compare February 14, 2025 15:31
Copy link
Member Author

vchuravy commented Feb 17, 2025

Merge activity

  • Feb 17, 7:42 AM EST: A user started a stack merge that includes this pull request via Graphite.
  • Feb 17, 7:43 AM EST: A user merged this pull request with Graphite.

@vchuravy vchuravy merged commit 45b74d9 into main Feb 17, 2025
8 of 23 checks passed
@vchuravy vchuravy deleted the vc/pocl branch February 17, 2025 12:43
@vchuravy
Copy link
Member Author

Welp... This got merged by graphite to soon.

Now we have a release-0.9 branch and main is now for 0.10

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