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

Build error when MKL TPL is enabled #135

Closed
mhoemmen opened this issue Jan 4, 2018 · 11 comments
Closed

Build error when MKL TPL is enabled #135

mhoemmen opened this issue Jan 4, 2018 · 11 comments

Comments

@mhoemmen
Copy link
Contributor

mhoemmen commented Jan 4, 2018

.../Trilinos/packages/kokkos-kernels/src/sparse/impl/KokkosSparse_spgemm_mkl_impl.hpp:165:24: error: use of undeclared identifier 'valuesA'
    value_type *a_ew = valuesA.ptr_on_device();
                       ^
.../Trilinos/packages/kokkos-kernels/src/sparse/impl/KokkosSparse_spgemm_mkl_impl.hpp:166:24: error: use of undeclared identifier 'valuesB'
    value_type *b_ew = valuesB.ptr_on_device();
                       ^

Please push fix to Trilinos as well. Thanks!

@mndevec
Copy link
Contributor

mndevec commented Jan 4, 2018

Sorry about this. Current pull request fixes this. I will simply disable this in Trilinos until the next KokkosKernels promotion, as it is not used anyway.

@mhoemmen
Copy link
Contributor Author

mhoemmen commented Jan 4, 2018

Thanks @mndevec ! Thanks also for the Trilinos PR.

@anates
Copy link

anates commented Jan 10, 2018

Same problem also occurs for the file KokkosSparse_spgemm_mkl2phase_impl.hpp, a similar fix might help (compilation works, unit tests not done yet)

@mndevec
Copy link
Contributor

mndevec commented Jan 10, 2018

@anates
What is the failure in the case of mkl2phase? Is it the same compilation failure?
Are you using it through Trilinos or stand-alone?

@anates
Copy link

anates commented Jan 10, 2018

@mndevec Same compilation failure, I am using it through Trilinos

@mndevec
Copy link
Contributor

mndevec commented Jan 10, 2018

@anates
Sorry about the issue. I am pushing a fix to trilinos again. I will merge it as soon as auto-tester is done.

It looks like we are using different flags to enable MKL within Trilinos and standalone package.
Trilinos is setting HAVE_KOKKOSKERNELS_MKL, while makefile system is setting KOKKOSKERNELS_ENABLE_TPL_MKL.

@crtrott @srajama1 : Am I missing a place where trilinos sets both of the flags? Is this a bug that we should fix in Trilinos?

@mndevec
Copy link
Contributor

mndevec commented Jan 10, 2018

@anates
the fixes are pushed to trilinos develop branch. It should solve the problem.

@srajama1
Copy link
Contributor

Trilinos sets the flag based on a combination of things : TPL name, what is in _config.h.in and sometimes explicitly in a package/CMakeLists.txt. There is no one way to do this. I would check all three places and change to a consistent naming as needed

@srajama1
Copy link
Contributor

The errors of not refreshing the screen, you have a fix already :)

@mndevec
Copy link
Contributor

mndevec commented Jan 10, 2018

Siva,
I pushed a fix, but I mean this might cause more bugs in future because of the inconsistencies.

I am not sure, but I think why this was not caught in kokkoskernels tests is because the flag used in KokkosKernels is different.

When we enable MKL in kokkoskernels, makefile system sets only the flag the "KOKKOSKERNELS_ENABLE_TPL_MKL", not HAVE_KOKKOSKERNELS_MKL.

I think this part of the code may have never been compiled in standalone library.

@srajama1
Copy link
Contributor

Let us review this code when you have few minutes.

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

No branches or pull requests

5 participants