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

AnonymousSpace #1321

Merged
merged 6 commits into from
Jan 5, 2018
Merged

AnonymousSpace #1321

merged 6 commits into from
Jan 5, 2018

Conversation

ibaned
Copy link
Contributor

@ibaned ibaned commented Jan 4, 2018

memory space which is accessible
to and from all others,
also includes a unit test
[#1175]

@ibaned
Copy link
Contributor Author

ibaned commented Jan 4, 2018

don't merge, got some failures with more testing...

@ibaned
Copy link
Contributor Author

ibaned commented Jan 4, 2018

Okay, fixed the dependence on Kokkos::Serial:

Running on machine: sems
Repository Status:  e2c1ab0cf6f1df5ab523e9a4ebc3a896bb29dfef Trying to separate AnonymousSpace and Serial


Going to test compilers:  cuda/8.0.44
Testing compiler cuda/8.0.44
  Starting job cuda-8.0.44-Cuda_OpenMP-release
  PASSED cuda-8.0.44-Cuda_OpenMP-release
#######################################################
PASSED TESTS
#######################################################
cuda-8.0.44-Cuda_OpenMP-release build_time=478 run_time=559


template<typename OtherSpace>
struct MemorySpaceAccess< Kokkos::AnonymousSpace , OtherSpace > {
enum { assignable = false };
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be true, and also we need to test this. Assigning any memory space view to anonymous view should be possible.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I was kinda wondering; that's the whole idea right?

enum { accessible = true };
enum { deepcopy = true };
};

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to add VerifyExecutionCanAccessMemorySpace ???

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is strange, but I can't actually find any use in Kokkos core of VerifyExecutionCanAccessMemorySpace, even indirectly through a macro. Only the new ScatterView uses it. Everything else including View::operator() safety check uses MemorySpaceAccess.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tpetra still uses it a lot though, so I'll add it.

@ibaned
Copy link
Contributor Author

ibaned commented Jan 5, 2018

Only spot check failures are due to module issues

Running on machine: sems
Repository Status:  c1fe2bfba2ec5b1ab27a8416ef2a5fb595d5a4b4 Add and test assignability to AnonymousSpace


Going to test compilers:  gcc/5.3.0 gcc/6.1.0 intel/17.0.1 clang/3.9.0 cuda/8.0.44
Testing compiler gcc/5.3.0
Testing compiler gcc/6.1.0
  Starting job gcc-5.3.0-OpenMP-release
  Starting job gcc-5.3.0-OpenMP-hwloc-release
  Starting job gcc-6.1.0-Serial-release
  PASSED gcc-6.1.0-Serial-release
Testing compiler intel/17.0.1
  Starting job gcc-6.1.0-Serial-hwloc-release
  PASSED gcc-5.3.0-OpenMP-hwloc-release
  PASSED gcc-5.3.0-OpenMP-release
Testing compiler clang/3.9.0
  FAILED intel-17.0.1-OpenMP-hwloc-release
Loading module sems-env
Loading module kokkos-env
Loading module sems-intel/17.0.1
Loading module kokkos-hwloc/1.10.1/base
	ERROR loading module kokkos-hwloc/1.10.1/base
	Module points to path  /projects/sems/install/rhel6-x86_64/kokkos/tpl/hwloc/1.10.1/intel/17.0.1/base  which does not exist
	You may need to load the appropriate compilers before loading this module
  FAILED intel-17.0.1-OpenMP-release
Loading module sems-env
Loading module kokkos-env
Loading module sems-intel/17.0.1
Loading module kokkos-hwloc/1.10.1/base
	ERROR loading module kokkos-hwloc/1.10.1/base
	Module points to path  /projects/sems/install/rhel6-x86_64/kokkos/tpl/hwloc/1.10.1/intel/17.0.1/base  which does not exist
	You may need to load the appropriate compilers before loading this module
Testing compiler cuda/8.0.44
  Starting job clang-3.9.0-Pthread_Serial-release
  Starting job clang-3.9.0-Pthread_Serial-hwloc-release
  PASSED gcc-6.1.0-Serial-hwloc-release
  PASSED clang-3.9.0-Pthread_Serial-hwloc-release
  PASSED clang-3.9.0-Pthread_Serial-release
  Starting job cuda-8.0.44-Cuda_OpenMP-release
  PASSED cuda-8.0.44-Cuda_OpenMP-release
#######################################################
PASSED TESTS
#######################################################
clang-3.9.0-Pthread_Serial-hwloc-release build_time=246 run_time=102
clang-3.9.0-Pthread_Serial-release build_time=246 run_time=228
cuda-8.0.44-Cuda_OpenMP-release build_time=479 run_time=586
gcc-5.3.0-OpenMP-hwloc-release build_time=249 run_time=110
gcc-5.3.0-OpenMP-release build_time=247 run_time=113
gcc-6.1.0-Serial-hwloc-release build_time=191 run_time=158
gcc-6.1.0-Serial-release build_time=197 run_time=126
#######################################################
FAILED TESTS
#######################################################
intel-17.0.1-OpenMP-hwloc-release (configure failed)
intel-17.0.1-OpenMP-release (configure failed)

@ibaned
Copy link
Contributor Author

ibaned commented Jan 5, 2018

I came up with a workaround for the missing module and threw that into this PR as well. Spot checks now all pass:

Running on machine: sems
Repository Status:  16de7b74fe6130fb71bdc06f6bfaea92c009af71 Add VerifyExecutionCanAccessMemorySpace


Going to test compilers:  gcc/5.3.0 gcc/6.1.0 intel/17.0.1 clang/3.9.0 cuda/8.0.44
Testing compiler gcc/5.3.0
Testing compiler gcc/6.1.0
  Starting job gcc-6.1.0-Serial-release
  Starting job gcc-5.3.0-OpenMP-release
  Starting job gcc-5.3.0-OpenMP-hwloc-release
  PASSED gcc-6.1.0-Serial-release
Testing compiler intel/17.0.1
  Starting job gcc-6.1.0-Serial-hwloc-release
  PASSED gcc-5.3.0-OpenMP-release
  PASSED gcc-5.3.0-OpenMP-hwloc-release
Testing compiler clang/3.9.0
  Starting job intel-17.0.1-OpenMP-release
  Starting job intel-17.0.1-OpenMP-hwloc-release
  PASSED gcc-6.1.0-Serial-hwloc-release
  Starting job clang-3.9.0-Pthread_Serial-release
  PASSED intel-17.0.1-OpenMP-hwloc-release
Testing compiler cuda/8.0.44
  Starting job clang-3.9.0-Pthread_Serial-hwloc-release
  PASSED intel-17.0.1-OpenMP-release
  PASSED clang-3.9.0-Pthread_Serial-release
  PASSED clang-3.9.0-Pthread_Serial-hwloc-release
  Starting job cuda-8.0.44-Cuda_OpenMP-release
  PASSED cuda-8.0.44-Cuda_OpenMP-release
#######################################################
PASSED TESTS
#######################################################
clang-3.9.0-Pthread_Serial-hwloc-release build_time=192 run_time=85
clang-3.9.0-Pthread_Serial-release build_time=197 run_time=367
cuda-8.0.44-Cuda_OpenMP-release build_time=481 run_time=574
gcc-5.3.0-OpenMP-hwloc-release build_time=251 run_time=188
gcc-5.3.0-OpenMP-release build_time=250 run_time=187
gcc-6.1.0-Serial-hwloc-release build_time=194 run_time=137
gcc-6.1.0-Serial-release build_time=198 run_time=226
intel-17.0.1-OpenMP-hwloc-release build_time=554 run_time=282
intel-17.0.1-OpenMP-release build_time=555 run_time=291

@crtrott crtrott merged commit 9ffb322 into kokkos:develop Jan 5, 2018
@ibaned ibaned deleted the anonymous-space branch January 5, 2018 22:33
@mhoemmen
Copy link
Contributor

mhoemmen commented Jan 5, 2018

Thanks @ibaned ! :-D
@crtrott , does this mean that kokkos-kernels can now fuse the CudaSpace and CudaUVMSpace instantiations into a single instantiation?

@crtrott
Copy link
Member

crtrott commented Jan 8, 2018

As soon as it actually doesn't segfault our nightlies on some machines ....

@mhoemmen
Copy link
Contributor

mhoemmen commented Jan 8, 2018

@crtrott weird :(

@ibaned
Copy link
Contributor Author

ibaned commented Jan 8, 2018

see possible fix in #1328

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

Successfully merging this pull request may close these issues.

3 participants