Comments (3)
libc++ is part of LLVM, I guess you mean libstdc++.
from onedpl.
The problem is that the upstream PSTL (which is also part of LLVM!) changed the definition of that macro:
llvm/llvm-project@3b9a1bb#diff-4c6821476cefc699b801f5fdbeda3341e3c64626dcf39a79621ea02031bdd50eL113
It's no longer defined to 1
, which seems like a bad decision in the upstream code IMHO.
But the real problem is that onedpl is not including its own pstl_config.h
and is relying on an incompatible "third-party" header of the same name, found elsewhere in the include path.
from onedpl.
Quick correction, libc++-13 and libc++-14 are the apt packages proving those files. However your point is a good one that both GNU C++ and Clang++ use LLVM's PSTL implementation. I tried adding #include "pstl_config.h"
to the top of algorithm_impl.h
, and that made me realize both the LLVM PSTL and oneDPL implementation use the same include guard, so that wont work. Looks like this will need to be resolved by either changing the code that checks for _PSTL_UDR_PRESENT
or by fixing the upstream header. I think fixing the LLVM PSTL header is the better choice for backwards compatibility reasons.
from onedpl.
Related Issues (20)
- [oneDPL][hetero] call wait for two events
- Investigate a 32-bit addressing mode in SYCL kernels HOT 1
- Better to rewrite as `= default;`
- Improvements / fixes to device copyable specializations HOT 1
- [Post-C++ committee, Tokyo] Investigate the applicability of LWG3918 issue
- [Post-C++ committee, Tokyo] Investigate the applicability of P2248 proposal
- Persistent working buffer for scans HOT 4
- [Post-C++ committee, Tokyo] Investigate the applicability of P1068 proposal
- Investigate usage of _ReverseCounter in __pstl_left_bound HOT 1
- Scan kernel template support for initial value
- Optimize atomic operations in scan kernel template HOT 1
- Improve guidance for choosing kernel template parameters of scan based on memory requirements
- Additional test scenario required here
- Invalid macro check in `__dpl_sycl::__group_barrier` implementation HOT 1
- including <oneapi/dpl/*> headers cause CUDA_ERROR_NOT_INITIALIZED after fork HOT 2
- Use oneDPL on Arm architecture
- use onedpl on macos 14.3 (23D2057) with M3 chip HOT 5
- Replace SYCL 1.2.1 group barrier with SYCL 2020 alternative HOT 4
- `oneapi::dpl::inclusive_scan` with an initial element requires the input's value_type to be convertible to the output's value_type with the SYCL backend
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 onedpl.