-
Notifications
You must be signed in to change notification settings - Fork 10
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
Added Fastor as a full backend and frontend. #78
Conversation
Inside /** Dot product between two input vectors
*
* @tparam derived_type_lhs is the first matrix (expression) template
* @tparam derived_type_rhs is the second matrix (expression) template
*
* @param a the first input vector
* @param b the second input vector
*
* @return the scalar dot product value
**/
template <typename derived_type_lhs, typename derived_type_rhs>
ALGEBRA_HOST_DEVICE inline auto dot(
const Eigen::MatrixBase<derived_type_lhs> &a,
const Eigen::MatrixBase<derived_type_rhs> &b) {
return a.dot(b);
} i.e., the functions are defined in terms of Fastor also utilizes expression templates, and hence has similar Expression classes. However, they are not officially documented. Are we fine with using non-documented parts of the library? Or should the definitions of stay as they are? |
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.
Looks good so far
For the formatting, you can use clang format 10.0.0 or look in the github actions tab for a downloadable artifact that contains the correctly formatted changes |
Sure thing. I'm not too worried about the formatting right now, because most of the changes it wants me to make are in currently empty files (which, of course, won't be empty anymore by the time I'm done with them). |
However, if you want to merge this PR to the main line of work, I can fix the formatting issues. Otherwise, we can just wait until I have it all done. |
I'm marking this PR as a draft until I am done so that the CI doesn't keep running for every commit I make. |
e1b6867
to
d7c5c73
Compare
I think I'm done with writing the backend and frontend now; it's ready for review. |
Please remove the swap file from the pull request. You may want to add |
Oops! I've removed the file and added |
We usually merge into main, yes. |
I still see a file |
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.
Cool, very nice progress!
d3c8ee1
to
9e2da91
Compare
The default behavior of Fastor, which is to have runtime assertions enabled for debug mode, and have them disabled at runtime, is good enough. Having that definition simply hurts the debuggability of the library. For this reason, I decided to remove that line.
This way, `operator*` acts as both the matrix multiplication operator as well as the element-wise multiplication operator.
2c09edd
to
983b51e
Compare
I finally managed to pass the CI 🥳 @niermann999 It's ready for review now. |
89deda4
to
445985a
Compare
The full thing is still a WIP, but I am opening a PR with the vector functions to get some feedback.