ORNL-CEES / DataTransferKit

A library for multiphysics solution transfer. ARCHIVED
https://datatransferkit.readthedocs.io/en/dtk-3.0/
BSD 3-Clause "New" or "Revised" License
47 stars 26 forks source link

Address compile issues in ExodusProblemGenerator GCC10 #592

Closed gahansen closed 3 years ago

gahansen commented 3 years ago

I ended up having some additional compilation errors using GCC10 on RHEL7 after issue #589 was resolved. Here is a quick PR that gets the code to compile for me. I made two changes in this PR:

  1. Address incorrect number of arguments in ArborX::minMax() and sendAcrossNetwork() calls.

  2. Address compilation error from using Kokkos unmanaged views (hitting static_assert on line 538 of ArborX_DetailsUtils.hpp

I'm not certain that I did the correct thing here, but these changes do point at the issues that I saw so please feel free to give me feedback or do something different here.

All of the tests run for me except for:

    DataTransferKit_Interpolation_MPI_4

Here are the errors I see in that test:

Running unit tests ...

0. Interpolation_DeviceTypeKokkos_Compat_KokkosSerialWrapperNode_one_topo_one_fe_three_dim_UnitTest ... [Passed] (0.00168 sec)
1. Interpolation_DeviceTypeKokkos_Compat_KokkosSerialWrapperNode_two_topo_two_dim_UnitTest ... [Passed] (0.00067 sec)
2. Interpolation_DeviceTypeKokkos_Compat_KokkosSerialWrapperNode_one_topo_one_fe_three_dim_hdiv_UnitTest ...
 Y.extent( 0 ) = 5 == ref_size = 5 : passed

 Check: rel_err(ref_sol[i] + dim * j, Y_host( i, j ))
        = rel_err(0, 0) = 0
          <= tol = 1e-06 : passed

Check: rel_err(ref_sol[i] + dim * j, Y_host( i, j ))
        = rel_err(-0.125, -0.5) = 0.75
          <= tol = 1e-06 : FAILED

 Check: rel_err(ref_sol[i] + dim * j, Y_host( i, j ))
        = rel_err(-0.2, -0.8) = 0.75
          <= tol = 1e-06 : FAILED

 Check: rel_err(ref_sol[i] + dim * j, Y_host( i, j ))
        = rel_err(-0.25, -1) = 0.75
          <= tol = 1e-06 : FAILED

 Check: rel_err(ref_sol[i] + dim * j, Y_host( i, j ))
        = rel_err(-0.45, -1.8) = 0.75
          <= tol = 1e-06 : FAILED
NOTE: Unit test failed on processes = {0, 1}
 (rerun with --output-to-root-rank-only=<procID> to see output
 from individual processes where the unit test is failing!)
 [FAILED]  (0.000648 sec) Interpolation_DeviceTypeKokkos_Compat_KokkosSerialWrapperNode_one_topo_one_fe_three_dim_hdiv_UnitTest
 Location: /projects/albany/src/Trilinos/DataTransferKit/packages/Discretization/test/tstInterpolation.cpp:371
gahansen commented 3 years ago

Just force-pushed some formatting changes suggested by Travis.

gahansen commented 3 years ago

Sounds great @aprokop ! Once the commit goes in that addresses https://github.com/arborx/ArborX/issues/419, I'll update this PR. One question, should I cancel this one and re-submit the ExecutionSpace{} mods at that time, or should I just update this PR (#592) given those changes at that time?

aprokop commented 3 years ago

Once the commit goes in that addresses arborx/ArborX#419, I'll update this PR

We'll first need to merge not only the PR in ArborX, but also to update ArborX in DTK.

One question, should I cancel this one and re-submit the ExecutionSpace{} mods at that time, or should I just update this PR (#592) given those changes at that time?

Just update this PR.

gahansen commented 3 years ago

Just updated PR to reflect @aprokop comments above.

aprokop commented 3 years ago

@gahansen Can you please rebase this PR on top of master and see if it fixes the problem?

gahansen commented 3 years ago

@aprokop - I rebased the PR and made several changes to address minor changes in ArborX (DistributedTree --> DistributedSearchTree). Still see the static_assert compile error coming from the use of unmanaged views (error log attached).

CompileError_11032020.txt

aprokop commented 3 years ago

@gahansen If you had to do a change to fix the DistributedSearchTree, this means that when you updated you did not pull the latest submodules. Can you please make sure your submodule in packages/Search is up to date?

gahansen commented 3 years ago

Sorry @aprokop - submodules are new to me but I think I have done this properly now. I rebased, updated the submodules, and pushed this commit to my fork for the automated tester. These changes did fix the compile errors I was seeing on the GCC10 machine. All tests are clean with the exception of "DataTransferKit_Interpolation_MPI_4" that was noted at the beginning of the PR.

aprokop commented 3 years ago

@gahansen The CI is failing now, while it was passing before. It seems that together with ArborX submodule you have also updated the TriBITS submodule. I wonder if the errors are coming from that upgrade. Could you please revert it so that you patch only contains changes to the files in DTK?

gahansen commented 3 years ago

Thanks @aprokop ! I think the third time is the charm. It looks like the checks passed this time. Thanks for all your help with this, I'll know how to do it next time!

aprokop commented 3 years ago

@gahansen Thanks!