std::cout << "hello OneAPI" << std::endl;#3296
Merged
syurkevi merged 15 commits intoarrayfire:masterfrom Oct 5, 2022
Merged
Conversation
9prady9
reviewed
Sep 22, 2022
Member
9prady9
left a comment
There was a problem hiding this comment.
Interesting, is this a copy of opencl backend with few fixes and commented out kernel launches ?
CMakeModules/InternalUtils.cmake
Outdated
| set(BUILD_SHARED_LIBS ON) | ||
|
|
||
| set(CMAKE_CXX_STANDARD 14) | ||
| set(CMAKE_CXX_STANDARD 17) |
| namespace afoneapi | ||
| { | ||
|
|
||
| #if 0 |
Member
There was a problem hiding this comment.
Ah, I missed this one in the first look :)
src/backend/common/EventBase.hpp
Outdated
| /// \brief Event destructor. Calls the destroy event call on the native API | ||
| ~EventBase() noexcept { | ||
| if (e_) NativeEventPolicy::destroyEvent(&e_); | ||
| //if (e_) |
src/backend/common/Logger.hpp
Outdated
| /* Other */ | ||
| #endif | ||
|
|
||
|
|
Member
There was a problem hiding this comment.
This entire pragma based suppression for spdlog is better clubbed in separate header which can be resued from multiple locations in the code base which wants to use spdlog.
| #else | ||
| /* Other */ | ||
| #endif | ||
|
|
Member
There was a problem hiding this comment.
Perhaps we can do the same to glad header too (like spdlog)
Contributor
Author
There was a problem hiding this comment.
There's only two places it happens, perhaps a macro could work 🤔
* afoneapi compiles and links
* Files that compile:
Array.cpp
Event.cpp
wrap.cpp
where.cpp
unwrap.cpp
triangle.cpp
transpose.cpp
transform.cpp
topk.cpp
tile.cpp
svd.cpp
susan.cpp
surface.cpp
sum.cpp
sparse_blas.cpp
sparse_arith.cpp
sparse.cpp
sort_index.cpp
sort.cpp
solve.cpp
sobel.cpp
sift.cpp
set.cpp
select.cpp
scan_by_key.cpp
scan.cpp
rotate.cpp
resize.cpp
reshape.cpp
reorder.cpp
regions.cpp
range.cpp
random_engine.cpp
qr.cpp
product.cpp
plot.cpp
orb.cpp
nearest_neighbor.cpp
morph.cpp
moments.cpp
min.cpp
memory.cpp
medfilt.cpp
meanshift.cpp
mean.cpp
max.cpp
platform.cpp
missing uniform random function elsewhere in arrayfire. maxdims fails like everywhere else. gfor fails.
test Transpose/0.TranposeIP_10 takes a much longer time to run
that
cpu. investigate
umar456
previously approved these changes
Oct 5, 2022
umar456
approved these changes
Oct 5, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a OneAPI backend to ArrayFire. This PR is a starting point for further development and collaboration.
Description
New feature. New backend!
Lots of commits. Commits should probably be squashed. Enough scaffolding is in place to start porting kernels.
This should allow performant support for upcoming Intel hardware.
This new backend may eventually need to utilize existing JIT implementations. Not sure if changes will be necessary if so.
Sooooo many kernels need to be ported.
Changes to Users
Current source should remain unaffected when building. If new backend is targeted the icx compiler will be necessary with a command similar to:
Checklist