-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Add doc string to explain matrix-vector product's SSE code and a test #3124
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3124 +/- ##
==========================================
- Coverage 72.62% 72.46% -0.16%
==========================================
Files 807 802 -5
Lines 145080 144763 -317
Branches 16213 16199 -14
==========================================
- Hits 105361 104904 -457
- Misses 35300 35449 +149
+ Partials 4419 4410 -9
|
eccc434
to
fda86d0
Compare
[KeyType(_matrixColumnCount)] | ||
public uint MatrixColumnIndex; | ||
// Matrix row index starts from 0 and is at most _synthesizedMatrixRowCount. | ||
// Contieuous=true means that all values from 0 to _synthesizedMatrixRowCount are allowed keys. |
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.
Contieuous [](start = 15, length = 10)
Contiguous? Continuous? seems to be like this few other places. #Resolved
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.
Those Contieuous
s are removed because they are not a part of the latest key type.
In reply to: 273743333 [](ancestors = 273743333)
/// if <paramref name="a"/>'s alignment is ok and <see langword="false"/> otherwise. | ||
/// </summary> | ||
/// <param name="a">The vector being checked.</param> | ||
/// <returns>Whether <see langword="true"/> is aligned well.</returns> |
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.
[](start = 29, length = 22)
? #Resolved
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.
"< paramref name = "a" / > " ? #Resolved
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.
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.
Some minor clean up may be needed but I won't block on it and assume you will do it before checking in. #Resolved |
@@ -34,6 +40,19 @@ private static bool Compat(AlignedArray a) | |||
return q; | |||
} | |||
|
|||
/// <summary> | |||
/// Compute the product of (flattened because its type is <see cref="AlignedArray"/> instead of a matrix) matrix <paramref name="mat"/> | |||
/// and a vector <paramref name="src"/>. |
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.
/// Compute the product of a flattened matrix <paramref name="mat"/> (flattened because its type is <see cref="AlignedArray"/>)
/// and a vector <paramref name="src"/>.
Maybe like this it is a bit easier to read.
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.
My bad. Thanks.
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.
CpuMath library is not documented, so I add one for its matrix-vector product. Other functions look easier. A new test based on matrix factorization is also added --- we factorize training matrix into two factor matrices and then use CpuMath to compute their product.
Also fix #3130 by changing
to