Comments (15)
A little bit of statistics before 2023 year starts.
Here is the chart with the code difference between sycl
(DPC++) branch and main
(llvm.org):
The chart starts 109794 added and 182 deleted lines of code on Jan 29 of 2019 (669 modified files) and ends with 767401 added and 10563 deleted lines of code on Dec 29 of 2022 (5470 modified files).
I also build a chart with git diff --diff-filter=M, which I think should demonstrate the track of changes in community files (i.e. excluding new files added to the sycl branch).
The chart starts 1416 added and 182 deleted lines of code on Jan 29 of 2019 (82 modified files) and ends with 40954 added and 6533 deleted lines of code on Dec 29 of 2022 (817 modified files).
The trend is clear: the difference is growing between DPC++ source code base and LLVM community code base.
from llvm.
ping, is there still a plan to upstream SYCL to llvm?
from llvm.
Yes, we still plan to upstream SYCL llvm. Unfortunately, the progress is slower than we would like to see, so any help is very welcome.
I'm glad to know that there is an interest in having SYCL support in upstream llvm.
from llvm.
Also created a wiki page with "upstream status" for SYCL patches: https://github.com/intel/llvm/wiki/SYCL-patches-upstream-status.
from llvm.
Hi, @bader
Codeplaysoftware is driving upstreaming their SYCL back-end for tensor in Eigen:
https://bitbucket.org/codeplaysoftware/eigen/src/default/
As far as you know, Is anyone trying to build it with Intel/llvm/sycl?
I'm not sure this is worth a new issue, I can't find a proper issue relevant either, so I just ask here.
Thanks.
from llvm.
@wangliwei-intel, I'm not aware of any progress in this direction.
from llvm.
Hi, @bader
Then I'll give a try.
Thanks.
from llvm.
hi @bader
Based on some of my 'very' preliminary analysis, it seems like we have considerable difference in the test cases available in DPC++ source code and LLVM community code. I can take a closer look if that is something of use.
Thanks
from llvm.
A little bit of statistics before 2023 year starts
Quite interesting. Could you combine the 2 graphics in one and put a log scale on vertical axis? Or send the scripts so I can run them myself and experiment with the graphics. :-)
from llvm.
I'm glad to know that there is an interest in having SYCL support in upstream llvm.
Of course there is! :-)
But considering that Khronos has not finished to produce a Conformance Test Suite for SYCL 2020 yet, there is no official full SYCL 2020 implementation yet and it makes sense to direct the work force mostly on polishing the current SYCL 2020 and preparing SYCL Next rather than up-streaming everything today as is, since it might change a little bit with a better big picture coming from the feedbacks learned with the complete SYCL 2020 implementations.
from llvm.
A little bit of statistics before 2023 year starts
Quite interesting. Could you combine the 2 graphics in one and put a log scale on vertical axis? Or send the scripts so I can run them myself and experiment with the graphics. :-)
Here is the bash command I used to get the data:
for D in {0..47}
do
x=`git log --first-parent --pretty=%H origin/sycl -1 --before="$D months"`
echo $D , `git diff --diff-filter=M --shortstat -l 0 origin/main...$x`, `git log --pretty='format:%h %ad' -1 $x`
I put the results to the Excel and build these charts there.
To get the data for the first chart, just remove --diff-filter=M
flag.
NOTE: there is one outlier in the data. Usually we merge llvm.org patches to the sycl branch with git merge
command, but one time we accidentally used git rebase
. Somewhere around this time these commands return incorrect values. I used interpolation to make lines continuous.
from llvm.
I'm glad to know that there is an interest in having SYCL support in upstream llvm.
Of course there is! :-)
@keryell, you are welcome to join sync meetings if interested (details).
But considering that Khronos has not finished to produce a Conformance Test Suite for SYCL 2020 yet, there is no official full SYCL 2020 implementation yet and it makes sense to direct the work force mostly on polishing the current SYCL 2020 and preparing SYCL Next rather than up-streaming everything today as is, since it might change a little bit with a better big picture coming from the feedbacks learned with the complete SYCL 2020 implementations.
That's basically what's happening right now. In addition to enabling SYCL 2020 features, we are also discussing other improvements which can make the upstream process easier.
from llvm.
@keryell, you are welcome to join sync meetings if interested (details).
@bader Oh thanks. I missed the fact that this meeting started again.
from llvm.
Here is the bash command I used to get the data:
@bader thanks, I will try.
from llvm.
Yes, we still plan to upstream SYCL llvm. Unfortunately, the progress is slower than we would like to see, so any help is very welcome.
I'm glad to know that there is an interest in having SYCL support in upstream llvm.
What's the latest on this initiative, it's hard to know what, if any of the major points above, have been achieved or any links to bugs for the components or requests so hard to know where to assist/look.
from llvm.
Related Issues (20)
- [SYCL][UR][HIP] Error from UR plugin though HIP plugin was intended to use HOT 9
- Provide oneAPI binary plugins built with CUDA < 12 HOT 1
- Graph~Explicit~sub_graph_nested.cpp and Graph~RecordReplay~sub_graph_nested.cpp compare floating point values with "==" HOT 2
- encountered 'sycl::_V1::runtime_error'when using the GPU to run the program on the devcloud HOT 2
- sub_group_mask is not conforming to the extension HOT 1
- xxx
- [UR][CPU] libpi_native_cpu.so missing HOT 1
- [SYCL-MLIR] Investigate clang-driver lit failures HOT 1
- [SYCL-MLIR] Investigate constant-propagation.mlir failure with an assertion in `DenseAnalysis` HOT 2
- When the SYCL queue task requires the GPU to run for a long time, the exception is not obvious HOT 1
- Allow for stateless addressing flags for >4GB allocations for devices to be passed through SYCL HOT 2
- Timeout on Basic/sycl_2020_images/host_task_sampled_image_read_linear.cpp with unrelated changes
- UR CUDA ERROR Runtime error: CUDA_ERROR_INVALID_VALUE, unified runtime error HOT 18
- Regression: Unable to execute kernel on second Level-Zero device HOT 3
- sycl\unittests\Extensions\.\ExtensionsTests.exe --gtest_filter=MultiThreadGraphTest.Finalize crashed in post-commit HOT 2
- [SYCL] DPC++ support runtime compilation?
- choose cpu_selector to queue or device throw an instance of 'sycl::_V1::runtime_error' HOT 8
- use_when_link_verify_cache.cpp failed on HIP/AMD with unrelated changes
- AtomicRef/max_generic.cpp failed on HIP/AMD with unrelated changes HOT 1
- [ESIMD] noinline_args_char_int_size_64.cpp failed in LLVM and SPIRV-LLVM-Translator pulldown HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llvm.