Attached is an updated version of kokkos-32-bit.patch against upstream 12.10.1.
It turns out that once the templates were fixed, the overloaded
function declarations were not needed.

Builds and test of Kokkos-only and all Trilinos packages on 64-bit
architectures are not affected.

On 32-bit architectures that have an 8-byte compare-and-swap
implementation (e.g. armhf and i386), a Kokkos-only build is
successful, but 1 out of the 21 unit tests,
KokkosCore_UnitTest_Serial_MPI_1, fails.
KokkosCore_UnitTest_Serial_MPI_1 includes 60 tests and of these only 4
fail with errors like:

Value of: result[i].value[j]
  Actual: 5.00005e+09
Expected: (ScalarType) correct
Which is: 7.05083e+08

A build of all Trilinos packages fails with a few errors similar to
the following:

packages/tpetra/core/test/Distributor/createfromsendsandrecvs.cpp:315:61:
error: conversion from ‘Teuchos::ArrayView<const unsigned int>’ to
non-scalar type ‘Teuchos::ArrayView<const long unsigned int>’
requested
   ArrayView<const long unsigned int> c = dist.getLengthsFrom();


For a Kokkos-only build, which saves a huge amount of time (thanks
Nico!), make the following changes to debian/rules:

--- a/debian/rules
+++ b/debian/rules
@@ -93,8 +93,9 @@
    -DTrilinos_INSTALL_INCLUDE_DIR:PATH=include/trilinos/ \
    -DTrilinos_USE_GNUINSTALLDIRS:BOOL=ON \
    -DTrilinos_ENABLE_DEVELOPMENT_MODE:BOOL=OFF \
-   -DTrilinos_ENABLE_ALL_PACKAGES:BOOL=ON \
-   -DTrilinos_ENABLE_SECONDARY_TESTED_CODE:BOOL=ON \
+   -DTrilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
+   -DTrilinos_ENABLE_SECONDARY_TESTED_CODE:BOOL=OFF \
+   -DTrilinos_ENABLE_Kokkos:BOOL=ON \
    -DTrilinos_ASSERT_MISSING_PACKAGES:BOOL=OFF \
    -DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
    -DTrilinos_ENABLE_CTrilinos:BOOL=OFF \

Attachment: kokkos-32-bit.patch
Description: application/empty

-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to