You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a non-standard build. I built on ATS2 using IBM Clang (11) + Cuda directly (no NVCC wrapper).
When building Zoltan2 for MueLu, Clang falls over because MJ has this-> in some of the lambda's.
A deeper look at the MJ functions shows one is a class const function and the other nearly a const function.
This makes the first a trivial candidate to move to a static class function (no this), and the second only uses this->sEpislon, which is pretty easy to hoist out and let that function be static as well.
Doing the priors, the code compiles and I can build Trilinos + Cuda with native Clang (which enables some other things I want to do!)
I've add a PR #9050 that fixes it (and hopefully doesn't break other builds...)
E.g.,
In file included from packages/muelu/src/Utils/ExplicitInstantiation/MueLu_Zoltan2Interface.cpp:55:
In file included from /g/g20/jjellio/src/Trilinos-jje/packages/muelu/src/Rebalancing/MueLu_Zoltan2Interface_def.hpp:57:
In file included from /g/g20/jjellio/src/Trilinos-jje/packages/zoltan2/core/src/problems/Zoltan2_PartitioningProblem.hpp:54:
In file included from /g/g20/jjellio/src/Trilinos-jje/packages/zoltan2/core/src/algorithms/partition/Zoltan2_PartitioningAlgorithms.hpp:55:
/g/g20/jjellio/src/Trilinos-jje/packages/zoltan2/core/src/algorithms/partition/Zoltan2_AlgMultiJagged.hpp:5185:29: error: capture host side class data member by this pointer in device or host device lambda function
imbalance_on_left = calculate_imbalance(seen_weight_in_part,
^
Bug Report
@trilinos/zoltan2
Description
This is a non-standard build. I built on ATS2 using IBM Clang (11) + Cuda directly (no NVCC wrapper).
When building Zoltan2 for MueLu, Clang falls over because MJ has
this->
in some of the lambda's.A deeper look at the MJ functions shows one is a class
const
function and the other nearly aconst
function.This makes the first a trivial candidate to move to a
static
class function (no this), and the second only usesthis->sEpislon
, which is pretty easy to hoist out and let that function be static as well.Doing the priors, the code compiles and I can build Trilinos + Cuda with native Clang (which enables some other things I want to do!)
I've add a PR #9050 that fixes it (and hopefully doesn't break other builds...)
E.g.,
Full output
Steps to Reproduce
The text was updated successfully, but these errors were encountered: