-
Notifications
You must be signed in to change notification settings - Fork 578
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
Kokkos Promotion: 2.6 -> 2.7 #2735
Comments
Tpetra issues:
|
@crtrott wrote:
Just curious -- what happened there? Was Tpetra copying a lot of Views of unequal dimensions? |
@mhoemmen Yeah apparently. Its not fixed yet though but you get nice runtime messages like:
|
Sacado is fixed for compile time stuff but got some runtime errors:
Looks like this might be stuff like view constructors given more arguments than the rank is large etc. |
I'll take care of the ShyLU changes, looks like straightfoward sed scripting to replace dimension_ with extent(...) and ptr_on_device with data. |
I've pushed a few changes to several packages: ShyLU_Node: Phalanx: 14: terminate called after throwing an instance of 'std::runtime_error' @rppawlo please check if you are fine with the changes, in particular for Phalanx_MDField.hpp. We might want to remove all the dimension** functions. Panzer: |
@kyungjoo-kim : ShyLU Tacho stuff. |
@kyungjoo-kim It may be sufficient to place scope guards between the |
@mperego - Thanks for taking care of this! Much appreciated! The only issue would be in the file Phalanx_MDField.hpp. While it is ok to change the kokkos array accessor from dimension_N() to extent(N), I would prefer to keep the MDField methods named dimension_N for now. We already have an accessor for extent() defined in MDField directly about your changes. All of the functions you changed in that file should really just be deleted, but we have lots of code using it in empire, drekar, charon, etc... To rename or make those changes, I need to make the corresponding changes in the apps. I'd like to do a coordinated push to trilinos and the apps to prevent disruption. Is this ok? |
@kyungjoo-kim I fixed the issue with |
@rppawlo agreed. |
I updated the unit tests and performance tests in Sacado and Stokhos, Serial build completes and tests pass with disabled deprecated code; quick check that nothing is broken with deprecated code enabled then I'll update the kokkos-promotion branch. |
Sacado and Stokhos test updates pushed to kokkos-promotion branch. |
@mhoemmen I tried a build with deprecated code disabled using the kokkos-promotion branch and kokkos and kokkos-kernels develop branches (gcc/4.8.4 + openmpi/1.10.1, OpenMP and Serial backends enabled) on kokkos-dev and ran into errors like this:
I explicitly enabled both OpenMP and Serial backends for Tpetra during configuration:
Any suggestions what may be going wrong? |
@ndellingwood Is |
@mhoemmen I was on the develop branch, sorry, getting lost in the builds I'm juggling... |
@dridzal @karapeterson I disabled all Kokkos code in Intrepid. Eventually we want Intrepid to be Kokkos free, so there is no point in spending a significant amount to make it compliant with the new changes in Kokkos. |
Phalanx fixes straightforward
|
The Panzer test
From the message there is a call to a View ctor for 'gids' that passes more arguments than the dynamic rank... |
@ndellingwood - phalanx changes are fine. Thanks! |
@mperego, makes sense - intrepid should be kokkos free. Users who want kokkos functionality should use intrepid2 |
We missed a static variable in Intrepid2 which caused the error in |
@mhoemmen The Panzer issue I have been chasing down occurs due to more args being passed to a
The assumption in the first line no longer holds except in cases where the specialize trait is non-void (e.g. when constructing View's of FadType), which may be when Stokhos makes use of this case.
I'll test more fully, if tests pass are you comfortable with me pushing this into the kokkos-promotion branch? |
@ndellingwood I'm OK with this, as long as it compiles -- thanks! @tjfulle may find this of interest too. |
@ndellingwood Also please correct the comment as appropriate if you have a chance; thanks! :D |
With gcc/4.8.4 + openmpi/1.10.1 (to match Trilinos' tested versions) and serial + openmp backends enabled these tests compiled and passed:
I'll update the comment and push :) |
@rppawlo Does the file in |
@ndellingwood - that directory is not compiled into the code. You do not have to update/edit those files. This code is an alternate implementation of some phalanx objects. |
Fixes have been pushed to kokkos-promotion branch detected during first round of integration testing, starting the next round shortly. |
Integration testing successfully complete with deprecated code enabled. |
Added more Trilinos fixes to the kokkos-promotion branch for bugs found testing with deprecated code disabled with a cuda+serial build using the white integration script with -D KOKKOS_ENABLE_DEPRECATED_CODE:BOOL=OFF \ added to the script. |
PR #2822 submitted. |
PR #2822 merged, thanks all for your help and contributing! |
This is to track progress on the Kokkos promotion. Part of this promotion is to remove utilization of deprecated features from Trilinos. See https://github.com/kokkos/kokkos/wiki/DeprecationPage for a list of features (may not yet be complete). The branch for this is kokkos-promotion. Add a symlink into the root Trilinos directory to a separate git clone of kokkos and Kokkos-kernels with their develop branches checked out. Then add
To your configure script.
The text was updated successfully, but these errors were encountered: