Skip to content
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

Update ExaMiniMD for Kokkos v3.0 promotion #28

Merged
merged 7 commits into from
Sep 9, 2019

Conversation

alanphumphrey
Copy link

@alanphumphrey alanphumphrey commented Jul 23, 2019

This pull request updates ExaMiniMD for the Kokkos version 3.0 promotion, and works with deprecated code disabled (KOKKOS_OPTIONS= disable_deprecated_code). There will be a complete removal of deprecated code support after the Kokkos version 3.0 release, hence this pull request. Current status and timeline for Kokkos code deprecations is at: https://github.com/kokkos/kokkos/wiki/DeprecationPage

This pull request corresponds to issue #27.

Please note that with this pull request, ExaMiniMD no longer builds with deprecated code enabled (KOKKOS_OPTIONS=enable_deprecated_code), due to the implementation of StaticCrsGraph (Kokkos_StaticCrsGraph.hpp) not using variadic templates (e.g., order of template arguments matters).

Alan Humphrey added 6 commits July 22, 2019 15:13
….cpp:162:42: warning: more '%' conversions than data arguments [-Wformat]).
…ve been reorganized to be consistent with Kokkos::View. ExaMiniMD not currently using Arg3Type, which if provided corresponds to the MemoryTraits. Because the implementation is not using variadic templates, order of template arguments matters. For now simply passing the default value. May want to use this differently?
…>::team_size_max(Functor) changes to a member function of the team policy. The previous variant didn't take all necessary information into account and could potentially result in invalid answers.

 NOTE: the league and team size arguments passed to the TeamPolicy may warrant inspection (force_types/force_snap_neigh_impl.h:183), e.g., perhaps use team_scratch_size & thread_scratch_size?
@stanmoore1 stanmoore1 self-requested a review July 23, 2019 15:34
@stanmoore1
Copy link
Collaborator

@alanphumphrey will this build with Kokkos 2.9.0, or do I need to wait for Kokkos 3.0? Thanks for the help.

@alanphumphrey
Copy link
Author

@stanmoore1, yes this will compile with Kokkos v2.9, however you need to explicitly disable support for deprecated code, e.g. set KOKKOS_OPTIONS=disable_deprecated_code. In ExaMiniMD/src/makefile, change line 35 from:

KOKKOS_OPTIONS=aggressive_vectorization
to
KOKKOS_OPTIONS=aggressive_vectorization,disable_deprecated_code

This is because deprecated code support is ON by default in v2.9. With 3.0 all this support will be removed and my changes will work by default.

Happy to help, let me know if you have any other questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants