MatSetPreallocationCOO: use PetscCount for length argumentThis is necessary to support assembly even when the vector size andnumber of nonzeros is well below 2B. For example, with a scalar problem
MatSetPreallocationCOO: use PetscCount for length argumentThis is necessary to support assembly even when the vector size andnumber of nonzeros is well below 2B. For example, with a scalar problemon Q_1 hexes, you have 8*8=64 entries per element and thus hit 2B around33M elements. This change allows such problems to be solved withoutpromoting to 64-bit indices everywhere (a storage and bandwidth cost).PetscCount is a new signed type equivalent to ptrdiff_t, meant for arrayindices and sizes that may overflow int32_t even when solving a problemwhose dimension fits in int32_t.
show more ...
Mat: change several SeqAIJKOKKOSDEVICE related fields from pointers to views to fix memory leaks
MATAIJKOKKOS: support MatSetValuesCOO
remove trailing newline from SETERRQ
applied attribute format fixes to mat headers
junchao's fixes
fix parrel GPU assembly for Kokkos
fix 64 bit integer bug with GPU assembly
MATMPIAIJKOKKOS: add MatProduct support
Fix spelling errors in manpages and comments
Mat: remove the unneeded +1 in memory allocation for garray
MatSetValuesDevice: Cleanup and simplify code, including exampleUser reported crash of example code. Kernel was passed an ierr that lived in CPU memoryMatSetValuesDevice: do not include private h
MatSetValuesDevice: Cleanup and simplify code, including exampleUser reported crash of example code. Kernel was passed an ierr that lived in CPU memoryMatSetValuesDevice: do not include private headers from public headersFeature: MatSetValuesDevice determines automatically from the context (where it is included from) if it is being used from C, CUDA, or Kokkos, PETSC_DEVICE_FUNC_DEC no longer needs to be set before including petscaijdevice.hFeature: MatSetValuesDevice() now ignores all values outside the global column range.PetscSplitCSRDataStructure is now a pointer, not a struct, like most PETSc objects, please leave it that way.Fix all uses of CTABLE that were related to the original MatSetValuesDevice()Have atomicAdd use Kokkos atomic-add with CPU build when building with Kokkos.Cuda should now work with --download-openmpi, this is done by updating updateCompilers() to rerun portions of packages/cuda.py after the compilers are reset to use MPI wrappers. This is needed because the resetting of the compilers removes all the compiler flags and packages/cuda.py sets certain values into these flags that was previously lost.Add MPICXX_INCLUDES, MPICXX_LIBS to fix compile targets for Kokkos examples'make check' now runs properly for Kokkos test of src/snes/ex3k, fixed bug in the makefile wrt MPI_IS_MPIUNI checkTesting makefile rules: add ex*cu binaries to clean ruleReported-by: Sam Fagbemi <samkorede24@gmail.com>Thanks-to: Stefano Zampini <stefano.zampini@gmail.com>Thanks-to: Mark Adams <mfadams@lbl.gov>/spend 16h
Remove all double blank lines from sourceCommit-type: petsc-style/2h
fix compile error with old global var, apparently
Sys: use Kokkos::complex for .kokkos.cxx files
CHKERRQ() -> CHKERRMPI()
MatCreate: When PETSc is configure with device, set boundtocpu to true at creation time
MatMPIAIJ: move generic code for MatMat product to base class
MatMPIAIJSetPreallocation_ : minor fixes for cusparse and kokkos
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-pro
Convert MPI error type to PETSc error with string message for all MPI callsNow PETSc examples will ONLY return PETSc error codes and never MPI error codes directly so we can understand and post-process their errors better.The test harness will now automatically retry tests that fail with MPI, this may help with Intel MPI that produces seemingly random failures.Commit-type: error-checking/spend 30m
Adding Cuda and Kokkos assembly. Added Device assembly to Landau operator. Added Kokkos test mat/ex5k.
MATAIJ: few more fixes to KOKKOS and fixes to function composition
Add MATAIJKOKKOS
12345