I get the following error message when I try to solve a tridiagonal system.
UNSUCCESSFUL RUN FOR SPIKE - INFO EXIT -1SPIKE_CORE ERROR CODE -314
I am using pspike.tp = 1 and mat.format='S'
What could be going wrong?
Quoting - sunil.satheansys.com
The current version of the solveronly supports automatic partitioning of sparse matrices (pspike%tp=0). Manual partitioning (pspike%tp=1) is notyet available. If you're using mat%format='S', the MPI master process initially holds the entire matrix. The matrix is automatically distributed to the other MPI processes upon calling the SPIKE subroutine. Section 6.5of the user guide shows an example of automatic partitioning using the CSR format.
Please let us know if you have any other questions.
Intel Cluster Software and Technologies
What storage format are you using for your matrix? If it's banded storage format, you shouldset mat%format='D'. Then you will be able to use spike%tp=1.
When I originally read through Chapter 5 (5.2)I thought that sparse format was supported for manual partitioning
and I was therefore trying to use that feature. Thank you for letting me know that this feature is not yet available.
As you said, when I use automatic partitioning it works. Do you have any idea if manual partitioning will be supported
for sparse format in near future?
I was wrong. The current release already supports manual partitioning with the CSR format. According to Table 7.4 of the user guide, error code -314 indicates that mat%kl or mat%ku is not set correctly. Please verify that these variables are being set correctly for all MPI ranks. Please let me know if that doesn't solve the problem.
kl and ku are not applicable for CSR storage. They are only applicable for dense storage (Table 5.1).
Why is it throwing me that error code when I am not even using dense storage?
You're right.We'll take a look at the code to see why this error check is happening for CSR format. It will hopefully be a simple fix so it shouldn't take too long to post a new library.
It would also help ifyou could provide a test case that reproduces the problem. We can run it against our latest internal code.
I have uploaded the files. The matrix is shown at the top of example4.c file.
The size of the mtrix is taken as input from the user.
The matrix is generated inside the program.
When you compile and run the program, you will see the error.
Just FYI, I noticed that the example6 which came with SPIKE is failing too.
I don't see the files that you uploaded in your last post. Do you see them when you login to the support forum?
I'll double-check example 6 to see if I can reproduce a failure. Do you get an error code with this example?
I hope I uploaded the files correctly this time.
Can you see 4 files help.c help.h makefile and example4.c?
I have modified the example4.c which came with SPIKE to
generate my tridiagonal sparse matrix. I was compiling this
on linux machine using the attached makefile.
Regarding example6, I get -1/-400 error code (DFS/RSS combination not supported)
I'll run thetest program and let you know what I find.
The regression that caused example6 to fail has been fixed but I'm still getting error code -314 for your test program. We're looking into why this error check is even performed. When the problem is fixed, we'll post an updated package to http://whatif.intel.com.
I believe you know Professor Ahmed Sameh (Purdue University), one of our university collaborators on this project. He interested in how you are using Spike. If you send me your e-mail address, I will forward it to Ahmed. My e-mail address is firstname.lastname@example.org.
The latest release of the solver fixes the problem that you reported. A few error checks were being performed that didn't make sense for sparse format matrices. It was easy to fix. You can get the latest package from the Intel Adaptive Spike-Based Solver link on http://whatif.intel.com.
Thanks for reporting the problem.