Hi carl. It is a great news. Let me sat thanks for your work. It really great. Actually I replaced unsigned int occurrences in compressed_matrix.hpp, sparse_matrix_hpp and in many places for couple of iterative solvers and now it seems to work fine eve for system of: rows = 210 mlns, columns = 210mls and with about 50 nonzeros in each row. I tested it in my fem geomechanics and hydrodynaics code, seems to work fine. But of course, I have not capabilities to do it for each preconditioner and each...
So, as I see this problems really connected with very large indexes. In file: cpu_ram.hpp (line 94) My size_in_bytes was about 2.3e9. After classical cast: long(size_in_bytes) it becomes negative and data don't copy. So I replaced (long) to (long long) and everything is ok. But are there any good way to work with indexes larger that (unsigned int)? I mean if I have number of nonzeros > 4.6e9? Of course, I can rewrite function copy and a lot of othwer functions in compressed_matrix.hpp to replace...
I had long time of debugging, and saw unsigned_int in many functions of viennacl::compressed_matrix. For example in function copy type of row_jumper and col_buffer must be unsigned int as I see. Does it mean that I have a limitation on number of nonzeros connected with unsigned int maximum? The error with copy ocure much before such sizes, but I can't understand if I have such a limit.
I had long time of debugging, and saw unsigned_int in many functions of viennacl::compressed_matrix. For example in function copy type of row_jumper and col_buffer must be unsigned int as I see. Does it mean that I have a limitation on number of nonzeros connected with unsigned int maximum?
I had long time of debugging, and saw unsigned_int in many functions of viennacl::compressed_matrix. For example in function copy type of row_jumper and col_buffer must be unsigned int as I see. Does it mean that I hacve a limitation on number of nonzeros connected with unsigned int maximum?
Hi Karl, I now have tested it for compressed matrix with 6 millions rows and colums. If it has about 50 nonzeros in each row, viennacl::copy doesn't work. But if it has only 30 or lesss nonzeros in each row, everything is good. No, there are no problems with lack of memory. I am testing it on 64 gb machine and also on NUMA workstation with 1TB. I found such a problem during calculation my FEM problems. If I doing: solve(A, B, tag, precond) with A, B, precond - ublas objects, everything is good. But...
I have an error during copy from ublas::compressed_matrix to viennaCL::compressed_matrix It work good for matrices with nonzeros about 500000, but if my ublas matrix is large, for example 10 millions, the result viennaCL::compressed matrix is empty, has all zeros as non-zero values. I use OpenMP on CPU. If anybody faced with such a problem?
Hello. Are there any way to get current iteration number or current iteration residual for parallel iterative Solvers during calculation. I have large linear system for FEM and sometimes I need to get this information to show progress to user.
Ok. Thanks for answers. Now I firstly set data in ublas::compressd_matrix and when do a copy to viennaCl::compressed_matrix. I tested and it is parallel. As i see memory not grow in 2. Does it mean that viennacl::copy not doing a full copy and just do bew pointers to allocated memory?
Hello. Wanted to ask if OpenMp parallization works, if i set ublas::compressed_matrix and ublas::vector to solve function?
Hello. I tried different iterative solvers and a clear cpp code, not launched from another thread (without GUI). I compiled it on MinGW, g++, but I have not scale in no case. Maybe you have an example with OpenMp Acceleration? To test it.
So in my iterative_operations.hpp no such lines: #pragma omp parallel for reduction(+: inner_prod_ApAp, inner_prod_pAp, inner_prod_Ap_r0star) I downloaded it from http://viennacl.sourceforge.net/. Do I need to take a dev version from github?
about 3millions of unknowns. And in each row of a matrix about 60 non-zero elements
So I tried without preconditioner at all, and proc load remain 25%. Do you know if bicgstab solver parallel using openMP?
So I tried without preconditioner at all, at proc load remain 25%. Do you know if bicgstab solver parallel using openMP?
So I tried without preconditioner at all, at proc load remain 25%. Do bicgstab solver parallel using openMP?
Hello. Using ViennaCl to solve large linear system for finite element geomechanics. Can't get speed up using #define VIENNACL_WITH_OPENMP. This is a code: omp_set_num_threads(8); viennacl::linalg::ilut_precond< ublas::compressed_matrix<double> > ublas_ilut(matrix,viennacl::linalg::ilut_tag() viennacl::linalg::bicgstab_tag tag(1.0e-13, 1000, 300); res = viennacl::linalg::solve(matrix, B, tag, ublas_ilut); As i see, i have only speed up during making preconditioner (proc load go up to 80%) during solve...