Re: [petsc-dev] Why no SpGEMM support in AIJCUSPARSE and AIJVIENNACL?

2019-10-02 Thread Jed Brown via petsc-dev
Do you have any experience with nsparse? https://github.com/EBD-CREST/nsparse I've seen claims that it is much faster than cuSPARSE for sparse matrix-matrix products. Karl Rupp via petsc-dev writes: > Hi Richard, > > CPU spGEMM is about twice as fast even on the GPU-friendly case of a >

Re: [petsc-dev] Why no SpGEMM support in AIJCUSPARSE and AIJVIENNACL?

2019-10-02 Thread Karl Rupp via petsc-dev
Hi Richard, CPU spGEMM is about twice as fast even on the GPU-friendly case of a single rank: http://viennacl.sourceforge.net/viennacl-benchmarks-spmm.html I agree that it would be good to have a GPU-MatMatMult for the sake of experiments. Under these performance constraints it's not top

Re: [petsc-dev] Why no SpGEMM support in AIJCUSPARSE and AIJVIENNACL?

2019-10-02 Thread Mark Adams via petsc-dev
FWIW, I've heard that CUSPARSE is going to provide integer matrix-matrix products for indexing applications, and that it should be easy to extend that to double, etc. On Wed, Oct 2, 2019 at 6:00 PM Mills, Richard Tran via petsc-dev < petsc-dev@mcs.anl.gov> wrote: > Fellow PETSc developers, > > I

[petsc-dev] Why no SpGEMM support in AIJCUSPARSE and AIJVIENNACL?

2019-10-02 Thread Mills, Richard Tran via petsc-dev
Fellow PETSc developers, I am wondering why the AIJCUSPARSE and AIJVIENNACL matrix types do not support the sparse matrix-matrix multiplication (SpGEMM, or MatMatMult() in PETSc parlance) routines provided by cuSPARSE and ViennaCL, respectively. Is there a good reason that I shouldn't add

Re: [petsc-dev] CUDA STREAMS

2019-10-02 Thread Mills, Richard Tran via petsc-dev
Mark, It looks like you are missing some critical CUDA library (or libraries) in your link line. I know you will at least need the CUDA runtime "-lcudart". Look at something like PETSC_WITH_EXTERNAL_LIB for one of your CUDA-enabled PETSc builds in $PETSC_ARCH/lib/petsc/conf/petscvariables to

Re: [petsc-dev] test harness: output of actually executed command for V=1 gone?

2019-10-02 Thread Scott Kruger via petsc-dev
In MR !2138 I have this target as show-fail which I think is more descriptive. config/report_tests.py -f is what's done directly. I made it such that one can copy and paste, but it might be too verbose. Scott On 9/20/19 8:53 PM, Jed Brown wrote: "Smith, Barry F." writes: Satish and

Re: [petsc-dev] Mixing separate and shared ouputs

2019-10-02 Thread Scott Kruger via petsc-dev
Fixed in MR# 2138 https://gitlab.com/petsc/petsc/merge_requests/2138 Thanks for the report. Scott On 9/28/19 3:44 AM, Pierre Jolivet via petsc-dev wrote: Hello, If I put something like this in src/ksp/ksp/examples/tutorials/ex12.c args: -ksp_gmres_cgs_refinement_type refine_always

[petsc-dev] CUDA STREAMS

2019-10-02 Thread Mark Adams via petsc-dev
I found a CUDAVersion.cu of STREAMS and tried to build it. I got it to compile manually with: nvcc -o CUDAVersion.o -ccbin pgc++ -I/autofs/nccs-svm1_sw/summit/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/pgi-19.4/spectrum-mpi-10.3.0.1-20190611-4ymaahbai7ehhw4rves5jjiwon2laz3a/include

Re: [petsc-dev] Should v->valid_GPU_array be a bitmask?

2019-10-02 Thread Zhang, Junchao via petsc-dev
Yes, the name valid_GPU_array is very confusing. I read it as valid_places. --Junchao Zhang On Wed, Oct 2, 2019 at 1:12 AM Karl Rupp mailto:r...@iue.tuwien.ac.at>> wrote: Hi Junchao, I recall that Jed already suggested to make this a bitmask ~7 years ago ;-) On the other hand: If we touch

Re: [petsc-dev] Should v->valid_GPU_array be a bitmask?

2019-10-02 Thread Karl Rupp via petsc-dev
Hi Junchao, I recall that Jed already suggested to make this a bitmask ~7 years ago ;-) On the other hand: If we touch valid_GPU_array, then we should also use a better name or refactor completely. Code like (V->valid_GPU_array & PETSC_OFFLOAD_GPU) simply isn't intuitive (nor does it make