- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using pardiso from Intel MKL tools to solve a problem along the time, but when I solve a system of equations (about 3500) after some resolutions, say 28 (times that the system is changed and has to be solved again),a error message appear: "Error ! ***Memory allocation failed for SetUpCoarseGraph: gdata. Requested size: 683908 bytes", or, if I change some parameters of the problem, the number of non-zeros is zero (said by pardiso), and the the solution is not actualized. Can you help me about this problem? Do I have to release memory in some way each time that I call pardiso subroutine?
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - nelson.goncalves
I'm using pardiso from Intel MKL tools to solve a problem along the time, but when I solve a system of equations (about 3500) after some resolutions, say 28 (times that the system is changed and has to be solved again),a error message appear: "Error ! ***Memory allocation failed for SetUpCoarseGraph: gdata. Requested size: 683908 bytes", or, if I change some parameters of the problem, the number of non-zeros is zero (said by pardiso), and the the solution is not actualized. Can you help me about this problem? Do I have to release memory in some way each time that I call pardiso subroutine?
Nelson,
Can you get us more details of the problem you encountered: First of all,
mtype, iparm[64], phase after that this crush happened, nrhs and etc.
You can use private tread for uploading your input data needed for the investigation the probelm.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Gennady Fedorov (Intel)
Nelson,
Can you get us more details of the problem you encountered: First of all,
mtype, iparm[64], phase after that this crush happened, nrhs and etc.
You can use private tread for uploading your input data needed for the investigation the probelm.
--Gennady
First of all thank you for try to help me..., here is the code that call pardiso (more text in the end)
do i = 1, 64
iparm(i) = 0
end do
iparm(1) = 1 ! no solver default
iparm(2) = 2 ! fill-in reordering from METIS
iparm(3) = 1 ! numbers of processors
iparm(4) = 0 ! no iterative-direct algorithm
iparm(5) = 0 ! no user fill-in reducing permutation
iparm(6) = 0 ! =0 solution on the first n compoments of x
iparm(7) = 0 ! not in use
iparm(8) = 9 ! numbers of iterative refinement steps
iparm(9) = 0 ! not in use
iparm(10) = 13 ! perturbe the pivot elements with 1E-13
iparm(11) = 1 ! use nonsymmetric permutation and scaling MPS
iparm(12) = 0 ! not in use
iparm(13) = 0 ! not in use
iparm(14) = 0 ! Output: number of perturbed pivots
iparm(15) = 0 ! not in use
iparm(16) = 0 ! not in use
iparm(17) = 0 ! not in use
iparm(18) = -1 ! Output: number of nonzeros in the factor LU
iparm(19) = -1 ! Output: Mflops for LU factorization
iparm(20) = 0 ! Output: Numbers of CG Iterations
error = 0 ! initialize error flag
msglvl = 1 ! print statistical information
mtype = 11 ! real unsymmetric
do i = 1, 64
pt(i) = 0
end do
phase=13 !13
CALL pardiso (pt, maxfct, mnum, mtype, phase, n, a, ia, ja,
1 idum, nrhs, iparm, msglvl, b, x, error)
I use another subroutine to solve the matrix (with all the elements) and make no errors, but when I try to solve with pardiso (that is faster, while it works), it solve the system along the 28 time steps, and then appear the erros that I told you before, I tried to put a lower time step, that is what I do when other schemes do into errors, and the same happens, after 28 time steps the program stops with the same error message. If I use another time step the problem is another, the firsts time steps it works well but after that, the pardiso give allways the same solution, what is not truth, imagine that the solution starts with one and will go down until zero, pardiso says something like 1, 0.9, 0.85, 0.85, 0.85 ..., instead of 1, 0.9, 0.85, 0.75, 0.70...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nelson,
Please try use the following scheme to check if the problem will be solved:
1) set iparm(11) == 0 // remove scaling
2) make reodering only once by putting it outside the loop
Phase == 11
Pardiso( .)
for ( )
{
phase == 22 // numeric factorization
Pardiso()
Phase == 33 // solve
Pardsio ()
}
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Gennady Fedorov (Intel)
Nelson,
Please try use the following scheme to check if the problem will be solved:
1) set iparm(11) == 0 // remove scaling
2) make reodering only once by putting it outside the loop
Phase == 11
Pardiso( .)
for ( )
{
phase == 22 // numeric factorization
Pardiso()
Phase == 33 // solve
Pardsio ()
}
--Gennady
The problem wasn't solved, I did what you said, put phase=11 (and 22 and 33 too) only the first time that the sytem is solved and the next times, after each actualization of the system I only did phase=22 and phase=33, and the the problem is that pardiso "says" that the matrix has no non-zero elements in L and in U, and give allways the same result (X vector, from AX=B), so, I think that the matrix is solved only in the beggining and then nothing else happen, no error appear but it seams that pardiso don't solve the "new" system. Do you know what could be? Thank you.
Nelson
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nelson,
Could you get us the test? That will help us understand and reproduce the problem.
(You can you private tread for the data of this test case.)
one more questions:
what is OS?
linking line?
size of the RAM?
what is the CPU type you are running on?
-- Gennady
Could you get us the test? That will help us understand and reproduce the problem.
(You can you private tread for the data of this test case.)
one more questions:
what is OS?
linking line?
size of the RAM?
what is the CPU type you are running on?
-- Gennady
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page