Subject: CGAL users discussion list
List archive
- From: Laurent Saboret <>
- To:
- Subject: Re: [cgal-discuss] Stuffing the symmetric matrix is so slow?
- Date: Fri, 08 Jun 2007 10:19:47 +0200
- Organization: INRIA Sophia-Antipolis
Hi,
a écrit :
Dear Laurent Saboret:
The link error has been fixed:-)
Good
But I'm sorry to tell you that my program crashed when it began to use
linear_solver(member function of Taucs_symmetric_solver) to solve my linear
system. When I use the old taucs libs provided by CGAL3.2.1, it runs
correctly. So is there some bug in the precompiled taucs libs
(libtaucs-vc71-mt.lib, liblapack.lib, or other related lib?), or, aren't the
libs compatible with my PC?
Several options are possible:
1) you may have incorrect settings in your vcproj
2) you may have to recompile ATLAS on your machine
3) there may be bugs in CGAL 3.3
1) The compilation settings changed between CGAL 3.2.1 and 3.3. I understand that you converted an existing project from CGAL 3.2.1 to 3.3, thus you have to update the settings.
Try first to compile and run Taucs_parameterization in CGAL-3.3\examples\Surface_mesh_parameterization\Parameterization_examples.sln.
If it works, the TAUCS libraries are probably fine and you should compare your vcproj settings with Taucs_parameterization's ones.
2) If it doesn't work, the TAUCS libraries are probably incorrect.
ATLAS is highly *not* portable, thus you may try to recompile it on your machine (this is relatively complex).
CGAL has been tested only with ATLAS 3.6.0 (both 3.2.1 and 3.3). You can download it from from http://math-atlas.sourceforge.net or download all third-party libraries used by TAUCS from ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/taucs_external_src.tgz. See installation instructions at http://math-atlas.sourceforge.net/errata.html.
I compiled ATLAS with VC++ 7.1 for CGAL 3.2.1 (using /MD runtime) and gcc 3.4.4 for CGAL 3.3. On my machine, ATLAS compiled with gcc 3.4.4 is compatible with VC++ 7.1 and 8.0 and with all Windows runtimes. You may try both VC++ and gcc.
You may have to recompile TAUCS after recompiling ATLAS. Source code is available at ftp://ftp.mpi-sb.mpg.de/pub/outgoing/CGAL/taucs_full.tgz.
See installation instructions in included read-me.
3) If it still doesn't work, you may send me () a simplified copy of your project and I will try to reproduce the bug. By "simplified", I mean without any confidential data/code.
Please specify your configuration: Windows version, compiler version, processor type, amount of RAM.
I have read your answer to my "slow matrix stuffing" question. I should say that
my_matrix is indeed a sparse matrix. And Taucs_symmetric_solver_traits::Matrix is a model of
SpareLinearAlgebraTraits. So, did you mean that I should just stuff the non-zero elements with
set_coef instead of stuffing all elements using the two "for" loop?
Yes, you should fill only the non-zero elements.
Finally, I think CGAL should make the interface of taucs solver more
flexible to support reusing the same factorization for several times of
solving. Seperating the factor and solve phase is supported by the function
taucs_linsolve of taucs library through different combinations of parameters.
While the linear_solve of CGAL did not provide as many parameters as
taucs_linsolve so can not support the seperating. Reusing the factorization
is a frequent and important scenario in many applications, so in my opinion,
the interface of taucs solver should be improved to add the flexibility in
the future.
This would indeed improve the performances. Unfortunately, it is not easy as the interface has to TAUCS-independent and to follow the SparseLinearAlgebraTraits_d concept: http://www.cgal.org/Manual/3.3/doc_html/cgal_manual/Surface_mesh_parameterization_ref/Concept_SparseLinearAlgebraTraits_d.html
Thank you again!
Best regard
Yours sincerely, Kevin Kai Xu
Best regards,
Laurent Saboret
INRIA Sophia-Antipolis
- Re: [cgal-discuss] Stuffing the symmetric matrix is so slow?, Laurent Saboret, 06/08/2007
Archive powered by MHonArc 2.6.16.