-
Notifications
You must be signed in to change notification settings - Fork 21
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 syevd_batch/heevd_batch via syevd/heevd call #1867
base: master
Are you sure you want to change the base?
Conversation
View rendered docs @ https://intelpython.github.io/dpnp/pull/1867/index.html |
0a3d67b
to
671bb2c
Compare
@@ -230,6 +230,136 @@ std::pair<sycl::event, sycl::event> | |||
return std::make_pair(args_ev, syevd_ev); | |||
} | |||
|
|||
std::pair<sycl::event, sycl::event> | |||
syevd_batch(sycl::queue &exec_q, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
heevd_batch
and syevd_batch
looks exactly the same, isn't they?
The only sensible difference is array of callbacks, but it can be passed as an input argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, another difference is that we use ...dispatch_table and ...dispatch_vector to get a pointer to the executing function
This PR suggests adding
syevd_batch
andheevd_batch
implementation as a separate function and provide iteration of the batch array within it to avoid allocation of each 2D array before callingsyevd
andheevd
to improve performance and avoid serialization of all host tasks in the queue in MKL call;Performance of
![image](https://private-user-images.githubusercontent.com/68376232/336497860-733d2880-892b-4b65-a4ae-82afa9bf0bee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAzMjI3MjUsIm5iZiI6MTcyMDMyMjQyNSwicGF0aCI6Ii82ODM3NjIzMi8zMzY0OTc4NjAtNzMzZDI4ODAtODkyYi00YjY1LWE0YWUtODJhZmE5YmYwYmVlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA3VDAzMjAyNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY2YzI2YTgyZjIxYmI0ZTU2YzhmMjNlYTUyNmRkNjgyNjdiMzBiZjViOGI5NjM1NzRhYzQxMzkzMmVjNTM2MWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.xk_coN-5lLpyHP_JAhsibRx0WV8CJuaUkS7fII_szMk)
dpnp.eigh
on Iris Xe