-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add OMEGA data types #19
Add OMEGA data types #19
Conversation
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.
A few comments on the documentation.
I'll follow up separately on linting.
The code and test look great to me!
@philipwjones, it would be helpful to have a discussion about linting. I'm not sure if we want to use this PR for that purpose or make a separate issue. Here's what I'm seeing.
|
Coincidentally, I had been looking at the linting output after I submitted the PR too. I do often like to align the = signs when we have several assignments grouped together so I'm ok with those mods in a clang-format config file. I'm not too concerned about the loop nesting - most loops should be indented. These were really tightly nested loops so indenting wasn't necessary but in practice, those loop forms will be converted to YAKL parallel_for so it won't be relevant. I'll go ahead and indent these. I need to get my environments set up properly for both the doc build and the linting tools to catch some of these things before the PR... |
@philipwjones, for my part, what I did to test the docs and linting on my laptop was the following:
|
Recent commits now pass the current (modified) linters and the doc builds successfully and looks fine. |
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 great! @philipwjones, it's up to you but presumably CI will pass if you do a rebase.
- includes source header defining all supported OMEGA data types - includes user and developer documentation sections - includes a unit test that tests both the expected size of standard types and the creation of YAKL host and device arrays
d9bc9b5
to
e9a0a51
Compare
Thanks @philipwjones. It seems it's not happy with my |
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.
The PR looks good to me.
As this PR introduces the namespace OMEGA, I have one note about using OMEGA naming convention for Omega specific macros. In the Omega logging, I created several macros for logging such as OMEGA_LOG_INFO. it may be good to add these naming and namespace convention somewhere in Omega documentation.
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 great, thanks!
* add OMEGA data types and YAKL arrays - includes source header defining all supported OMEGA data types - includes user and developer documentation sections - includes a unit test that tests both the expected size of standard types and the creation of YAKL host and device arrays - doxygen comments have been added - minor changes were made after review and linter results
activate snicar in icepack, check values
This is the OMEGA data types module (header file) that defines type aliases for standard data types, a generic real type and YAKL arrays for each supported type and up to 5 dimensions. It includes source code, user and develop documentation sections and a unit test.
The included unit test will be part of the CTest suite once the CMake build system is in place, but for now, this has been tested by manually building the unit test. On Chrysalis, this can be built with mpicxx and including the YAKL src and external directories and the omega/src/base directory in the include path. I have also tested on Crusher with the appropriate YAKL HIP flags. Note that for both of those tests, the latest version of YAKL was cloned since this branch still has an older version of YAKL.
Checklist