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

KokkosKernels Trilinos Integration Threads Compilation Failure #43

Closed
mndevec opened this issue Aug 4, 2017 · 5 comments
Closed

KokkosKernels Trilinos Integration Threads Compilation Failure #43

mndevec opened this issue Aug 4, 2017 · 5 comments

Comments

@mndevec
Copy link
Contributor

mndevec commented Aug 4, 2017

@crtrott @srajama1
I am having some issues when I enable Threads in KokkosKernels.

With standalone make:

  • if I enable serial and pthreads, it works fine.
  • if I enable openmp,serial, and pthreads, the unit tests fail, because of kokkos::initialize initializes openmp, and then the initialization of pthreads fails. I don't know if that is a case we should support, but I do not know how to fix this issue.

Within Trilinos cmake,

  • If I enable pthreads, the compilation fails because of undefined reference errors.
@mndevec
Copy link
Contributor Author

mndevec commented Aug 8, 2017

Kokkos does not support 100% the use of OpenMP and Threads, therefore first problem is not a real issue.

However, trilinos pthread compilation still remains to be problem for my workstation. @crtrott , could you have a look at this problem?

@hcedwar
Copy link
Contributor

hcedwar commented Aug 9, 2017

Kokkos specifically prohibits the simultaneous use of OpenMP and Threads (pthreads) back-ends due to a whole set of performance (even livelock) problems. The error message should have said as much. Perhaps the error message needs to be more clear about this restriction?

@mndevec
Copy link
Contributor Author

mndevec commented Aug 9, 2017

The error messages I was getting are below. I don't know if there were more error messages about this, they might not be displayed as gtest emits standard output.

In this unit test, Kokkos::initialize() initializes openmp, and then pthreads; and below error is thrown as a result of this. I was not getting this error if I specifically initialize execution spaces such as Kokkos::Threads::initialize() when all execution spaces are enabled in the compilation.

Does kokkos prohibit the simultaneous use of them at runtime or also at compile time?

[ RUN      ] threads.common_ArithTraits
unknown file: Failure
C++ exception with description "ThreadsExec::resize_scratch FAILED : Threads not initialized.
Traceback functionality not available
" thrown in the test body.
[  FAILED  ] threads.common_ArithTraits (0 ms)
[ RUN      ] threads.graph_graph_color_double_int_int_TestExecSpace
unknown file: Failure
C++ exception with description "Constructing View and initializing data with uninitialized execution space
Traceback functionality not available
" thrown in the test body.
[  FAILED  ] threads.graph_graph_color_double_int_int_TestExecSpace (81 ms)

@crtrott
Copy link
Member

crtrott commented Aug 11, 2017

You are probably on an older version of Kokkos which didn't have the "I don't allow you to do this" in it.

@mndevec
Copy link
Contributor Author

mndevec commented Aug 17, 2017

Closing the issue, rest can be followed in #46

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

No branches or pull requests

3 participants