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

Profiling can't be disabled in CMake, and a parallel_for is missing for tasks (reported by Kyungjoo Kim) #1349

Closed
kyungjoo-kim opened this issue Jan 18, 2018 · 6 comments
Assignees
Labels
Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos)
Milestone

Comments

@kyungjoo-kim
Copy link
Contributor

When I turn on both Kokkos task dag (a task use team interface inside) and profiling, I got the following error.

/ascldap/users/kyukim/Work/lib/trilinos/master/packages/kokkos/core/src/Kokkos_Parallel.hpp(182):
error: class "Kokkos::Impl::ThreadVectorRangeBoundariesStruct<int, Kokkos::Impl::TaskExec<Kokkos::Cuda>>" has no member "work_tag"

This is guarded by profiling macro. It seems that something is not defined with scheduler

#if defined(KOKKOS_ENABLE_PROFILING)
  uint64_t kpID = 0;
  if(Kokkos::Profiling::profileLibraryLoaded()) {
    Kokkos::Impl::ParallelConstructName<FunctorType, typename ExecPolicy::work_tag> name(str);
    Kokkos::Profiling::beginParallelFor(name.get(), 0, &kpID);
  }
#endif
@kyungjoo-kim
Copy link
Contributor Author

How can I disable profiling ?

I tried to give -D KOKKOS_ENABLE_PROFILING:BOOL=OFF. It does not filter out the profiling code block. In the KokkosCore_Config.h the macro is still defined.

@kyungjoo-kim
Copy link
Contributor Author

I disable

-D KOKKOS_ENABLE_PROFILING_INTERNAL:BOOL=OFF
-D KOKKOS_ENABLE_PROFILING:BOOL=OFF

I still see the following. Any clue ?

/* ---------------------------------------------
Makefile constructed configuration:
Thu Jan 18 14:35:43 MST 2018
----------------------------------------------*/
#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)
#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead."
#else
#define KOKKOS_CORE_CONFIG_H
#endif
/* Execution Spaces */
#define KOKKOS_HAVE_CUDA
#define KOKKOS_HAVE_OPENMP
#define KOKKOS_HAVE_SERIAL
#ifndef __CUDA_ARCH__
#define KOKKOS_USE_ISA_POWERPCLE
#endif
/* General Settings */
#define KOKKOS_HAVE_CXX11
#define KOKKOS_ENABLE_PROFILING
/* Optimization Settings */
/* Cuda Settings */
#define KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE
#define KOKKOS_CUDA_USE_LAMBDA
#define KOKKOS_ARCH_POWER8
#define KOKKOS_ARCH_PASCAL
#define KOKKOS_ARCH_PASCAL60

@ibaned ibaned self-assigned this Jan 23, 2018
@ibaned ibaned added this to the 2018 February milestone Jan 23, 2018
@ibaned ibaned added the Enhancement Improve existing capability; will potentially require voting label Jan 23, 2018
@ibaned
Copy link
Contributor

ibaned commented Jan 23, 2018

sub-task: figure out why profiling is not properly disabled through TriBITS

@ibaned
Copy link
Contributor

ibaned commented Jan 23, 2018

sub-task 2: compile failure with RDC + task thread vector policy, add unit test

@ibaned
Copy link
Contributor

ibaned commented Jan 23, 2018

Pull request #1352 should get -D KOKKOS_ENABLE_PROFILING:BOOL=OFF to work again

@ibaned ibaned added Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos) and removed Enhancement Improve existing capability; will potentially require voting labels Jan 23, 2018
@ibaned
Copy link
Contributor

ibaned commented Jan 24, 2018

Pull request #1357 will fix the missing parallel_for API, with is the only missing piece to resolve this issue.

@ibaned ibaned changed the title Kokkos TaskScheduler does not work with profiling. Profiling can't be disabled in CMake, and a parallel_for is missing for tasks Feb 6, 2018
@crtrott crtrott changed the title Profiling can't be disabled in CMake, and a parallel_for is missing for tasks Profiling can't be disabled in CMake, and a parallel_for is missing for tasks (reported by Kyungjoo Kim) Mar 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Broken / incorrect code; it could be Kokkos' responsibility, or others’ (e.g., Trilinos)
Projects
None yet
Development

No branches or pull requests

4 participants