-
Notifications
You must be signed in to change notification settings - Fork 197
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
Replace map_along_rows
with matrixVectorOp
#911
Conversation
…d API for matrixVectorOp
…ecOpTest + remove redundant inputs in LinewiseTest
…rix type + cleanup old matrixVectorOp implementation
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.
Changes look good from my end. Just fairly minor things as usual.
@@ -22,80 +22,10 @@ namespace raft { | |||
namespace linalg { | |||
namespace detail { | |||
|
|||
namespace { |
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.
Are any of the changes in this file going to break users downstream (such as cuml)?
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.
It won't break cuML because all template types are inferred in calls to matrixVectorOp
.
It could in theory break other projects if they provide the template list explicitly, but I'm not aware of any.
I've solved the conflicts with #725 and #937 and done the changes requested by @cjnolet Note that I see failures in the linewise tests with padded spans, not only on this branch but also on |
@Nyrio , thanks for finding this. I added #964 to fix the issue in the test setup. |
This should fix the failures @Nyrio found in [#911](#911 (comment)). This is a test issue within a new testcase that was introduced by [#725](#725). @cjnolet , FYI. Authors: - Malte Förster (https://github.com/mfoerste4) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: #964
@Nyrio the fix to linewise op has been merged. |
rerun tests |
rerun tests |
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.
Thanks @Nyrio for the PR! It looks good to me.
|
||
namespace raft { | ||
namespace matrix { | ||
namespace detail { | ||
|
||
/** This type simplifies returning arrays and passing them as arguments */ | ||
template <typename Type, int VecElems> | ||
struct VecArg { |
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.
@Nyrio could you add an issue about this, so that we don't forget it?
@tfeher The last commit is for you. Re-requesting a review, so you can have a quick look at the new |
@gpucibot merge |
The prim
matrixVectorOp
is more optimized than the ANN util functionmap_along_rows
. However, in order to substitute the latter, I needed to add better support for differing matrix and vector types.This PR adds support to arbitrary matrix and vector types in matrix-vector ops. The input and output matrices must have the same type but the vectors can each have different types.