- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
We are developing a finite element analysis application involving matrix calculations. We are hoping to use MKL from Intel for our requirements.
We need to calculate
• Matrix Inverse
• Matrix Multiplication
• Matrix solving
Input matrix dimensions will be in the order of 10^8
We would like to know will MKL library be able to handle such inputs and calculations.
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi Shibin,
Its look like your matrices is sparse. In case of positive answer multiplication of such matrices can be implemented via MKL SparseBlas functionality. Inverse can be implemented as solution of system with many rhs by setting instead rhs unit matrix. The typical solver of system with sparse matrix is MKL Pardiso solver - solver based on multifrontal approach. Moreover currently we investigate possibility of expanding it on clusters with distributed memory. So, on the first slight we can satisfy your requirements but it will be better if you send us test matrices to propose best way of solving it
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thanks for the reply MR Alexander Kalinkin
You are right our matrix is sparse.
And I am already aware that MKL Pardiso solver can solve sparse matrices efficiently.
But my concern is about the range of inputs MKL pardiso solver can handle and performance .
If you can quote something like this then it will be very much useful.
"We have solved matrix of dimensions xxx with MKL solver with xx cores and xx threads with in x time."
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Shibin B wrote:
If you can quote something like this then it will be very much useful.
"We have solved matrix of dimensions xxx with MKL solver with xx cores and xx threads with in x time."
I doubt that. Here is a counterexample: I could create a tridiagonal matrix (such a matrix may arise from the discretization of a problem with a single spatial dimension), and report the results that you specified, but those results would be next to useless if your problem involved two or three spatial dimensions. If one tries hard enough, one may succeed in finding a simple answer to a complex question, but the simple answer is quite likely to be wrong.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Shibin B wrote:
"We have solved matrix of dimensions xxx with MKL solver with xx cores and xx threads with in x time."
Shibin,
Look at the MKL PARDISO performance charts published on the MKL product page: http://software.intel.com/sites/default/files/Intel-MKL_Pardiso_900.png. This may answer your questions. For details (dimensions, sparsity, pattern, etc.) about the matrices used in the charts, see "The Univ. of Florida Sparse Matrix Collection" (http://www.cise.ufl.edu/research/sparse/matrices/index.html).
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Sergey Kostrov wrote:
>>A report on performance of MKL with Florida State sparse matrices:
>>
>>http://arxiv.org/abs/1302.1078I'm not sure that the article is about MKL ( there is just one reference of the abbreviation MKL ) and it looks like the authors used some in-house implemented algorithms to test performance of Intel Xeon Phi coprocessor rather than MKL. Here is a quote:
...
The SpMV kernel is implemented in C++ using OpenMP and processes the rows in parallel.
...
and when testing they compare performance of codes compiled with /O1 and /O3 command line options.
The paper is cryptic on the subject, but they tested both C++ OpenMP source code implementation and MKL, choosing the better of the two for quotation. Intel C++ compiler did quite well and exceeded the performance of the MKL which was available when the work was begun on both host and MIC. I'm not certain whether the final version of the paper is available on line.
OpenMP work balancing is done in the source code version by dynamic or guided schedule. Internal to MKL it is done apparently by estimating the work of each loop and dividing the work among threads. KMP_AFFINITY setting is important.
Sorry for mis-identifying Univ. of Florida.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Shibin, we have the research project of Pardiso for distribute system. This version allows to solve such sort of problem you was talking about into original thread. In the case if you are interesting to evaluate this version and give us the feedback -- just let me know. --Gennady
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi Gennady,
Can you please explain how it differs from the pardiso solver in MKL?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
The official package contains the version of Pardiso for shared memory systems, but the research version is dedicated for distribute systems ( mpi based).
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Shibin, are there any interest in evaluation of this package?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
I did some evaluation of MKL library. I was able to solve sparse matrices of dimension - 2.5 x 10^7 with in 12 Minutes.
System Spec - intel i7 quad core, 12 GB ram,
Mr Fedorov,
We decided to use MKL library. But my project is stalled till September. So license will be purchased only then. It will be better if you can provide me the details about licensing in the mean time.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
that's perfect if you was able to solve 2.5 x 10^7 case. MPI version will allow to solve much larger cases.
regard to license: I have asked my teammate to help you with this information.
