{"push_id":1028232875,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"c6ff9984f5a153c61b12c105d27c46e4aa9df325","before":"621a36f1cbc50ef8b0aa38eb184ac13c10f50589","commits":[{"sha":"9ec9d4457013e28e94205894b128a98a9f0838dd","author":{"email":"79769d63ef4200f1d89b0289082c83b6a21cac13@sandia.gov","name":"Mark Hoemmen"},"message":"KokkosKernels: Fix #208 (protect use of Kokkos::shfl_down)\n\nWhen building with nvcc_wrapper but CUDA OFF, __CUDA_ARCH__ is defined\nbut KOKKOS_HAVE_CUDA is not defined.  Kokkos defines shfl* (>= Kepler\nGPU shuffle operations) if KOKKOS_HAVE_CUDA is defined.  Some sparse\nmatrix-vector multiply kernels were using Kokkos::shfl_down, but only\nchecking if __CUDA_ARCH__ was defined, not KOKKOS_HAVE_CUDA.  This\ncommit fixes that, and thus should fix #208.","distinct":true,"url":"https://api.github.com/repos/muelu/Trilinos/commits/9ec9d4457013e28e94205894b128a98a9f0838dd"},{"sha":"fbe04f6d8db38214ddaba240835c72f9a9bfeafd","author":{"email":"79769d63ef4200f1d89b0289082c83b6a21cac13@sandia.gov","name":"Mark Hoemmen"},"message":"KokkosKernels: Fix #231 (remove unneeded CudaSpace SpMV instant's)\n\n@trilinos/tpetra Fix #231 (remove unneeded CudaSpace instantiations for\nKokkosKernels' sparse matrix-vector multiply).  It thus addresses #226,\nby cutting in half the amount of sparse matrix-vector multiply code\nbuilt for the Kokkos::Cuda execution space.\n\nTpetra requires UVM.  Thus, it only uses instantiations for Device<Cuda,\nCudaUVMSpace>.  It does not use Device<Cuda, CudaSpace> (the difference\nis in the memory space, the second template parameter of Device).\nHowever, KokkosKernels was instantiating the (quite long) sparse\nmatrix-vector multiply kernels for both memory spaces.  This commit\nremoves the unused instantiations.\n\nNote that the way KokkosKernels does \"explicit instantiation\" does not\ndepend on or work like Trilinos' ETI system.  In particular, code may\nstill use template parameter combinations that aren't pre-built in\nKokkosKernels.  Thus, this change should not break tests, examples,\ndownstream packages, or applications.","distinct":true,"url":"https://api.github.com/repos/muelu/Trilinos/commits/fbe04f6d8db38214ddaba240835c72f9a9bfeafd"},{"sha":"0f860601e4cdd4c39e17a1e686f05085ffe0b195","author":{"email":"79769d63ef4200f1d89b0289082c83b6a21cac13@sandia.gov","name":"Mark Hoemmen"},"message":"KokkosKernels: Fix rest of #231 for (M)V ops\n\n@trilinos/tpetra This addresses build time and library size with CUDA\nenabled, by cutting in half the amount of vector and multivector kernels\nbuilt for the Kokkos::Cuda execution space.  See e.g., #226 for evidence\nthat this is a problem.\n\nTpetra requires UVM.  Thus, it only uses instantiations for Device<Cuda,\nCudaUVMSpace> (this and what follows lives in the Kokkos namespace).  It\ndoes not use Device<Cuda, CudaSpace> (the difference is in the memory\nspace, the second template parameter of Device).  However, KokkosKernels\nwas instantiating many vector and multivector computational kernels for\nboth memory spaces.  This commit removes the unused instantiations.\n\nNote that the way KokkosKernels does \"explicit instantiation\" does not\ndepend on Trilinos' ETI system.  In particular, code may still use\ntemplate parameter combinations that aren't pre-built in KokkosKernels.\nThus, this change should not break tests, examples, downstream packages,\nor applications.\n\nBuild/Test Cases Summary\nEnabled Packages: TpetraKernels, TpetraCore\n0) MPI_DEBUG => passed: passed=88,notpassed=0 (13.30 min)\n1) SERIAL_RELEASE => passed: passed=69,notpassed=0 (9.59 min)\nOther local commits for this build/test group: fbe04f6, 9ec9d44","distinct":true,"url":"https://api.github.com/repos/muelu/Trilinos/commits/0f860601e4cdd4c39e17a1e686f05085ffe0b195"},{"sha":"9f258db1669d14509cb359f439af022df745ea26","author":{"email":"79769d63ef4200f1d89b0289082c83b6a21cac13@sandia.gov","name":"Mark Hoemmen"},"message":"KokkosKernels: Fix #232 (make SpMV instant's) use default OFFSET_TYPE\n\n@trilinos/tpetra Make the sparse matrix-vector multiply (SpMV)\ninstantiations in KokkosKernels use the default OFFSET_TYPE, rather than\nspecifying size_t explicitly.  This should improve Tpetra build times,\nsince Tpetra uses the default OFFSET_TYPE too.  This matters esp. for\nCUDA, since size_t might not even be the default size_type of Views in\nthat case (thus resulting in unneeded explicit instantiations).","distinct":true,"url":"https://api.github.com/repos/muelu/Trilinos/commits/9f258db1669d14509cb359f439af022df745ea26"},{"sha":"c6ff9984f5a153c61b12c105d27c46e4aa9df325","author":{"email":"79769d63ef4200f1d89b0289082c83b6a21cac13@sandia.gov","name":"Mark Hoemmen"},"message":"KokkosKernels: Make SpMV instantiations use Tpetra's LAYOUT_TYPE.\n\nBuild/Test Cases Summary\nEnabled Packages: TpetraKernels, TpetraCore\n0) MPI_DEBUG => passed: passed=88,notpassed=0 (10.44 min)\n1) SERIAL_RELEASE => passed: passed=69,notpassed=0 (7.46 min)\nOther local commits for this build/test group: 9f258db","distinct":true,"url":"https://api.github.com/repos/muelu/Trilinos/commits/c6ff9984f5a153c61b12c105d27c46e4aa9df325"}]}