Hi everyone,
I used mkl_<>csrmm function in deep learning, but I met with a really strange problem. One parameter in mkl_<>csrmm is called pntrb (row pointer in compressed sparse row format) and its definition is:
INTEGER. Array of length m.
For one-based indexing this array contains row indices, such that pntrb(I) - pntrb(1) + 1
is the first index of row I in the arrays val and indx.
For zero-based indexing this array contains row indices, such that pntrb(I) - pntrb(0)
is the first index of row I in the arrays val and indx.
Refer to pointerb array description in CSR Format for more details.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
As you can see, pntrb actually calculates the difference rather than absolute value. In my program, if pntrb(0) is small, it works well. But if pntrb(0) is large, the program is just hang there and no error information. I am sure the value of pntrb(0) does not exceed the maximum value (2^32-1). Could someone tell me what's wrong?Thanks
Link Copied
You may try to use ILP64 libraries from Intel MKL to address this big value problem. Please have a look at the MKL User's Guide fr more details. as an example - Using the ILP64 Interface vs. LP64 Interface. You may also find an example how to link and compile the code with this API.
For more complete information about compiler optimizations, see our Optimization Notice.