pygraphblas icon indicating copy to clipboard operation
pygraphblas copied to clipboard

exception GrB_OUT_OF_MEMORY

Open simpletonDL opened this issue 5 years ago • 1 comments

Hello! I ran into a problem: when I want to multiply matrices of a large enough size, OutOfMemory is thrown with the following traceback:

Traceback (most recent call last):
  File "/home/arseniy.terekhov/Repo/CFPQ_PyAlgo/example.py", line 21, in <module>
    m = matrix_base_algo(g, gr)
  File "/home/arseniy.terekhov/Repo/CFPQ_PyAlgo/src/algo/matrix_base.py", line 14, in matrix_base_algo
    m[l] += m[r1] @ m[r2]
  File "/home/arseniy.terekhov/.local/lib/python3.8/site-packages/pygraphblas-3.2.0-py3.8-linux-x86_64.egg/pygraphblas/matrix.py", line 786, in __matmul__
    return self.mxm(other)
  File "/home/arseniy.terekhov/.local/lib/python3.8/site-packages/pygraphblas-3.2.0-py3.8-linux-x86_64.egg/pygraphblas/matrix.py", line 755, in mxm
    _check(lib.GrB_mxm(
  File "/home/arseniy.terekhov/.local/lib/python3.8/site-packages/pygraphblas-3.2.0-py3.8-linux-x86_64.egg/pygraphblas/base.py", line 119, in _check
    raise _error_codes[res](ffi.string(lib.GrB_error()))
pygraphblas.base.OutOfMemory: b'GraphBLAS error: GrB_OUT_OF_MEMORY\nfunction: GrB_mxm (C, M, accum, semiring, A, B, desc)\nout of memory\n'

At the same time, neither the swap nor even the RAM does not overflow. Or I don't understand what this exception means. I am using 3.2.0 version of pygraphblas, 3.3.0 version of suite sparse and OS ubuntu 20.04.1 LTS. Thank you in advance!

simpletonDL avatar Sep 20 '20 07:09 simpletonDL

Hi @simpletonDL, this isn't really an issue with pygraphblas, the error is being thrown by the underlying suite sparse library. The only situation I think this happens is when the system malloc (or whatever malloc is passed to GxB_xinit which for pygraphblas is the system malloc) returns NULL, meaning the system is out of memory. Are you sure you're not running with any operating system constraints? Process limits?

michelp avatar Sep 27 '20 21:09 michelp