Rui Peng Li
Rui Peng Li
> Hi, > I'm trying to optimize the performance of my matrix assembly in Hypre and I'm finding that all of my time is being spent in > HYPRE_IJMatrixAssemble. >...
Basically, neither of `HYPRE_IJMatrixSetRowSizes` or `HYPRE_IJMatrixSetDiagOffdSizes` has effect on GPU assembly, which are used for the CPU algorithm as Ulrike explained. GPU assembly always uses auxiliary matrix. On the other...
> I’m gonna take a crack at this. I’ve been reading the assembly code in IJMatrix_parcsr_device.c and I have a pretty good idea of what’s happening. I’m going to create...
I am not sure if this makes sense. The logic is if `BigJ` exists in CSR, realloc it and ignore `J`; otherwise realloc `J`. Apparently, reallocating `BigJ` is useful for...
I agreed. The whole `J` and `BigJ` things are complicated. To respond your comments partially, since the `BigJ` is put inside `if (hypre_CSRMatrixBigJ(matrix))`, so doing `alloc` doesn't make sense; only...
Remember to revisit #143 with this PR
> Yes. BigJ is needed for the extended matrices So, I guess the answer to Rob's question is "yes" (?).
> Here is my take on this: Conceptually and originally a hypre_CSRMatrix is a local matrix, and therefore would just need the J data, i.e. 32 bit integers. This of...
It seems to be related to #506
@cessenat Thanks for reporting this. Hypre should have `-fopenmp` in the link line. I haven't seen `-lomp` before. Is it `clang` specific?