<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Projects | Pierre Ramet</title>
    <link>https://ramet.github.io/projects/</link>
      <atom:link href="https://ramet.github.io/projects/index.xml" rel="self" type="application/rss+xml" />
    <description>Projects</description>
    <generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 19 May 2024 00:00:00 +0000</lastBuildDate>
    <image>
      <url>https://ramet.github.io/media/icon_hu_731727514bcb35a2.png</url>
      <title>Projects</title>
      <link>https://ramet.github.io/projects/</link>
    </image>
    
    <item>
      <title>Chameleon</title>
      <link>https://ramet.github.io/projects/chameleon/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://ramet.github.io/projects/chameleon/</guid>
      <description>&lt;h1 id=&#34;chameleon-a-dense-linear-algebra-solver&#34;&gt;Chameleon: A dense linear algebra solver&lt;/h1&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;Chameleon is a scientific C library providing high-performance routines to solve dense linear systems (general, symmetric positive definite, least squares) using LU, Cholesky, QR and LQ factorizations, as well as singular value (SVD) and eigenvalue (EVD) decompositions. Real and complex arithmetic are supported in both single and double precision.&lt;/p&gt;
&lt;p&gt;Chameleon is designed to fully exploit modern heterogeneous and distributed supercomputers. Relying on a tile matrix layout, algorithms are expressed as task graphs and executed dynamically by innovative runtime systems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;StarPU&lt;/strong&gt; (enabling multi-GPU acceleration through cuBLAS or hipBLAS, and distributed-memory clusters with MPI),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PaRSEC&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenMP&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QUARK&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-chameleon&#34;&gt;Get Chameleon&lt;/h2&gt;
&lt;p&gt;The latest official release is &lt;strong&gt;v1.4.0&lt;/strong&gt; (January 2026). All releases, source archives, and changelogs are available on 
.&lt;/p&gt;
&lt;p&gt;To use the latest development version of Chameleon, clone the repository with submodules:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clone with submodules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone --recursive https://gitlab.inria.fr/solverstack/chameleon.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; chameleon
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;available-features--algorithms&#34;&gt;Available Features &amp;amp; Algorithms&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Matrix factorizations and linear solvers:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cholesky:&lt;/strong&gt; POTRF, POTRI, POTRS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QR / LQ:&lt;/strong&gt; GEQRF, GELQF, ORMQR, UNMQR&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LU factorization:&lt;/strong&gt; GETRF, GESV, GETRS (with tile and partial pivoting)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Singular Value &amp;amp; Eigenvalue Decomposition:&lt;/strong&gt; GESVD, SYEV, HEEV&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BLAS-3 operations:&lt;/strong&gt; GEMM (including A-stationary algorithms), SYMM, HEMM, TRSM, SYRK, HERK&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Precision support:&lt;/strong&gt; Single (&lt;code&gt;s&lt;/code&gt;), Double (&lt;code&gt;d&lt;/code&gt;), Complex single (&lt;code&gt;c&lt;/code&gt;), Complex double (&lt;code&gt;z&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supported Architectures:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Multicore CPUs (x86_64, ARM, PowerPC)&lt;/li&gt;
&lt;li&gt;NVIDIA GPUs via cuBLAS / TCUDA&lt;/li&gt;
&lt;li&gt;AMD GPUs via HIP / hipBLAS&lt;/li&gt;
&lt;li&gt;Distributed-memory clusters via MPI (using 2D block-cyclic tile distributions)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-Level Interfaces:&lt;/strong&gt; C, Fortran 90, Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;Comprehensive online documentation is available at 
.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;h3 id=&#34;build-and-install-with-cmake&#34;&gt;Build and install with CMake&lt;/h3&gt;
&lt;p&gt;Chameleon can be built using 
 (minimum version 3.12):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BLAS and LAPACK (e.g. OpenBLAS, Intel MKL)&lt;/li&gt;
&lt;li&gt;HWLOC&lt;/li&gt;
&lt;li&gt;StarPU (version &amp;gt;= 1.4 for multi-GPU &amp;amp; MPI), PaRSEC, or OpenMP&lt;/li&gt;
&lt;li&gt;CUDA / CuBLAS or HIP / hipBLAS (optional, for GPU acceleration)&lt;/li&gt;
&lt;li&gt;MPI (optional, for distributed memory)&lt;/li&gt;
&lt;li&gt;Python (optional, for code generation and bindings)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir build &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake .. -DCMAKE_INSTALL_PREFIX&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/path/to/install &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;         -DCHAMELEON_USE_MPI&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;         -DCHAMELEON_USE_CUDA&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;         -DCHAMELEON_SCHED_STARPU&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make -j
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Chameleon is also available through package managers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Guix-HPC:&lt;/strong&gt; &lt;code&gt;guix install chameleon&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spack:&lt;/strong&gt; &lt;code&gt;spack install chameleon&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Homebrew:&lt;/strong&gt; &lt;code&gt;brew install chameleon&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-involved&#34;&gt;Get Involved&lt;/h2&gt;
&lt;h3 id=&#34;reporting-an-issue&#34;&gt;Reporting an issue&lt;/h3&gt;
&lt;p&gt;Users are encouraged to use the issue tracker to report bugs, suggest features, or ask questions:

&lt;/p&gt;
&lt;h3 id=&#34;contributions&#34;&gt;Contributions&lt;/h3&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h2 id=&#34;authors&#34;&gt;Authors&lt;/h2&gt;
&lt;p&gt;The development of Chameleon is conducted within the &lt;strong&gt;SolverStack&lt;/strong&gt; and &lt;strong&gt;TOPAL&lt;/strong&gt; / &lt;strong&gt;Storm&lt;/strong&gt; research teams at Inria Bordeaux Sud-Ouest, Bordeaux University, CNRS (LaBRI), and Bordeaux INP, in close collaboration with the MORSE associate team (ICL University of Tennessee, KAUST):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mathieu Faverge, PI&lt;/li&gt;
&lt;li&gt;Florent Pruvost&lt;/li&gt;
&lt;li&gt;Samuel Thibault&lt;/li&gt;
&lt;li&gt;Philippe Virouleau&lt;/li&gt;
&lt;li&gt;Alycia Lisito&lt;/li&gt;
&lt;li&gt;Pierre Ramet&lt;/li&gt;
&lt;li&gt;and the MORSE / SolverStack contributors.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;
&lt;p&gt;Chameleon is distributed under the CeCILL-C open-source license (BSD-compatible):

&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SolverStack</title>
      <link>https://ramet.github.io/projects/solverstack/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://ramet.github.io/projects/solverstack/</guid>
      <description>&lt;h1 id=&#34;solverstackinria-bordeaux&#34;&gt;SolverStack@Inria Bordeaux&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;SolverStack&lt;/strong&gt; aims at providing a coherent, high-performance (HPC) linear algebra solver stack. It provides a comprehensive collection of numerical solvers, partitioning tools, and runtime systems designed for modern supercomputers operating on dense and sparse matrices.&lt;/p&gt;
&lt;p&gt;The ecosystem includes direct, iterative (Krylov), and hybrid direct/iterative methods, with advanced preconditioners and low-rank compression techniques, ensuring &lt;em&gt;portability of performance&lt;/em&gt; from multicore laptops to petascale and exascale supercomputers.&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;Official Website:&lt;/strong&gt; 
&lt;/p&gt;
&lt;h2 id=&#34;software-ecosystem&#34;&gt;Software Ecosystem&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sparse Direct Methods:&lt;/strong&gt; 
, 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dense Direct Methods:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sparse Matrix Package:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Iterative &amp;amp; Krylov Methods:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hybrid Direct/Iterative Solvers:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Randomized &amp;amp; Low-Rank Decompositions:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Task-Based Runtime Systems:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Communication Libraries:&lt;/strong&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partitioning &amp;amp; Ordering:&lt;/strong&gt; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;packaging--distribution&#34;&gt;Packaging &amp;amp; Distribution&lt;/h2&gt;
&lt;p&gt;SolverStack software components are systematically packaged and maintained for high-performance computing environments:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Guix-HPC:&lt;/strong&gt; &lt;code&gt;guix install &amp;lt;package&amp;gt;&lt;/code&gt; (
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spack:&lt;/strong&gt; &lt;code&gt;spack install &amp;lt;package&amp;gt;&lt;/code&gt; (
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Homebrew:&lt;/strong&gt; &lt;code&gt;brew install &amp;lt;package&amp;gt;&lt;/code&gt; (
)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;partner-teams--institutions&#34;&gt;Partner Teams &amp;amp; Institutions&lt;/h2&gt;
&lt;p&gt;SolverStack software is developed by researchers and engineers in joint project-teams at &lt;strong&gt;Inria Bordeaux Sud-Ouest&lt;/strong&gt;, &lt;strong&gt;Bordeaux University&lt;/strong&gt;, &lt;strong&gt;CNRS&lt;/strong&gt; (
), and &lt;strong&gt;Bordeaux INP&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Contact:&lt;/strong&gt; 
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>PaStiX</title>
      <link>https://ramet.github.io/projects/pastix/</link>
      <pubDate>Fri, 12 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://ramet.github.io/projects/pastix/</guid>
      <description>&lt;h1 id=&#34;pastix-a-sparse-direct-solver&#34;&gt;PaStiX: A sparse direct solver&lt;/h1&gt;
&lt;p&gt;
 

&lt;/p&gt;
&lt;p&gt;PaStiX (Parallel Sparse matriX package) is a scientific library that provides a
high-performance parallel solver for very large sparse linear systems based on
direct methods. Numerical algorithms are implemented in single or double
precision (real or complex) using LLt, LDLt and LU with static pivoting (for non-symmetric
matrices having a symmetric pattern).
This solver also provides low-rank compression methods (BLR and HODLR) to reduce the memory footprint and/or the time-to-solution, as well as mixed-precision arithmetic.&lt;/p&gt;
&lt;h2 id=&#34;get-pastix&#34;&gt;Get PaStiX&lt;/h2&gt;
&lt;p&gt;The latest official release is &lt;strong&gt;v6.4.0&lt;/strong&gt; (July 2024). All releases, source tarballs, and changelogs are available on 
.&lt;/p&gt;
&lt;p&gt;To use the latest development version of PaStiX, please clone the master
branch. Note that PaStiX contains git submodules (&lt;strong&gt;spm&lt;/strong&gt; and &lt;strong&gt;morse_cmake&lt;/strong&gt;):&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clone with submodules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone --recursive https://gitlab.inria.fr/solverstack/pastix.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; pastix
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;available-features&#34;&gt;Available Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Features available in shared memory with POSIX threads on multicore architectures:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;Seq&lt;/th&gt;
					&lt;th&gt;Static&lt;/th&gt;
					&lt;th&gt;Dyn&lt;/th&gt;
					&lt;th&gt;StarPU&lt;/th&gt;
					&lt;th&gt;PaRSEC&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;POTRF (Cholesky)&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PXTRF (LL^t for complex)&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;HETRF (LDL^h)&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SYTRF (LDL^t)&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GETRF (LU)&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
					&lt;td&gt;FR/LR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;TRSM&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;-&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;DIAG&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;FR/LR&lt;/td&gt;
					&lt;td&gt;-&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;Features available in hybrid shared/distributed memory with MPI between processes and POSIX threads within a process:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;Seq&lt;/th&gt;
					&lt;th&gt;Static&lt;/th&gt;
					&lt;th&gt;Dyn&lt;/th&gt;
					&lt;th&gt;StarPU&lt;/th&gt;
					&lt;th&gt;PaRSEC&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;POTRF (Cholesky)&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PXTRF (LL^t for complex)&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;HETRF (LDL^h)&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SYTRF (LDL^t)&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GETRF (LU)&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
					&lt;td&gt;FR/GPU&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;TRSM&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;-&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;DIAG&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;FR&lt;/td&gt;
					&lt;td&gt;-&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FR&lt;/strong&gt; means Full-Rank computations without compression techniques.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LR&lt;/strong&gt; means Low-Rank compression technique to reduce the memory footprint and/or the time-to-solution.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;WARNING:&lt;/em&gt; GPU kernels are not available on compressed supernodes.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;WARNING:&lt;/em&gt; Low-rank compression and Schur complement are not yet available with MPI.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;The latest Doxygen documentation is available 
.&lt;/p&gt;
&lt;p&gt;The 
 and 
 of the solver are described. Some 
 are also provided.&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;h3 id=&#34;build-and-install-with-cmake&#34;&gt;Build and install with CMake&lt;/h3&gt;
&lt;p&gt;PaStiX can be built using 
. The build requires several
library dependencies to be installed on the system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BLAS (MKL, OpenBLAS, &amp;hellip;) and CBLAS (sequential version required)&lt;/li&gt;
&lt;li&gt;LAPACK and LAPACKE (sequential version required, with TMG enabled for testing)&lt;/li&gt;
&lt;li&gt;HWLOC (highly recommended)&lt;/li&gt;
&lt;li&gt;SCOTCH (optional)&lt;/li&gt;
&lt;li&gt;METIS (optional)&lt;/li&gt;
&lt;li&gt;STARPU runtime support (optional)&lt;/li&gt;
&lt;li&gt;PARSEC runtime support (optional)&lt;/li&gt;
&lt;li&gt;CUDA/CuBLAS to enable GPU functionality with runtime support (optional)&lt;/li&gt;
&lt;li&gt;EZTRACE to enable tracing support (optional)&lt;/li&gt;
&lt;li&gt;Python and Fortran compiler for wrappers and examples (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For instance, on Debian-like systems, dependencies can be installed with the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  sudo apt-get install cmake gcc gfortran libhwloc-dev libscotch-dev libopenblas-dev liblapacke-dev python-numpy
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The main options to configure the PaStiX build are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Standard CMake options:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CMAKE_BUILD_TYPE&lt;/code&gt;: Debug, RelWithDebInfo, Release, MinSizeRel; we recommend using &lt;code&gt;Release&lt;/code&gt; or &lt;code&gt;RelWithDebInfo&lt;/code&gt; for best performance.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CMAKE_INSTALL_PREFIX&lt;/code&gt;: Specify the prefix directory to install the library.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BUILD_SHARED_LIBS=[OFF]&lt;/code&gt;: Enable building shared libraries (required for the Python wrapper).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Integer type:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PASTIX_INT64[=ON]&lt;/code&gt;: Enable/disable int64_t for integer arrays.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Ordering libraries:
&lt;ul&gt;
&lt;li&gt;Ordering libraries must match the integer type chosen for integer arrays in PaStiX.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PASTIX_ORDERING_SCOTCH[=ON]&lt;/code&gt;: Enable/disable Scotch library support for ordering.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PASTIX_ORDERING_METIS[=OFF]&lt;/code&gt;: Enable/disable Metis library support for ordering (Metis 5.1 required).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;External schedulers:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PASTIX_WITH_PARSEC[=OFF]&lt;/code&gt;: Enable/disable PaRSEC runtime support. Requires installing PaRSEC tag &lt;code&gt;pastix-&amp;lt;releasenumber&amp;gt;&lt;/code&gt; (&lt;code&gt;mymaster&lt;/code&gt; for master branch) from the repository 
 that includes patches on top of the original PaRSEC runtime system. PaRSEC needs to be compiled with option &lt;code&gt;-DPARSEC_WITH_DEVEL_HEADERS=ON&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PASTIX_WITH_STARPU[=OFF]&lt;/code&gt;: Enable/disable StarPU runtime support (requires StarPU 1.3).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Distributed memory:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PASTIX_WITH_MPI=[OFF]&lt;/code&gt;: Enable/disable distributed memory support (see above for details). If used with the PaRSEC library, MPI should be enabled or disabled consistently in both libraries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;External SpM library:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PASTIX_WITH_EXTERNAL_SPM=[OFF]&lt;/code&gt;: Enable/disable the use of an external SpM library in favor of the internal one.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Documentation:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BUILD_DOCUMENTATION[=OFF]&lt;/code&gt;: Enable Doxygen documentation generation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-involved&#34;&gt;Get involved&lt;/h2&gt;
&lt;h3 id=&#34;reporting-an-issue&#34;&gt;Reporting an issue&lt;/h3&gt;
&lt;p&gt;We strongly recommend all users to use the issue tracker to report any problems with the software, or to submit feature requests. We will do our best to answer them in a timely manner.&lt;/p&gt;
&lt;h3 id=&#34;contributions&#34;&gt;Contributions&lt;/h3&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h2 id=&#34;authors&#34;&gt;Authors&lt;/h2&gt;
&lt;p&gt;The following people contribute or contributed to the development of PaStiX:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mathieu Faverge, PI&lt;/li&gt;
&lt;li&gt;Pierre Ramet, PI&lt;/li&gt;
&lt;li&gt;David Goudin&lt;/li&gt;
&lt;li&gt;Mathias Hastaran&lt;/li&gt;
&lt;li&gt;Pascal Henon&lt;/li&gt;
&lt;li&gt;Xavier Lacoste&lt;/li&gt;
&lt;li&gt;François Pellegrini&lt;/li&gt;
&lt;li&gt;Grégoire Pichon, Low-rank solver&lt;/li&gt;
&lt;li&gt;Florent Pruvost, CMake and Spack&lt;/li&gt;
&lt;li&gt;Theophile Terraz&lt;/li&gt;
&lt;li&gt;Tony Delarue, MPI implementation&lt;/li&gt;
&lt;li&gt;Brieuc Nicolas, Mixed precision&lt;/li&gt;
&lt;li&gt;Alycia Lisito&lt;/li&gt;
&lt;li&gt;Clément Richefort, Algebraic multigrid and mixed precision&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If we missed your name, please let us know so we can update the list.&lt;/p&gt;
&lt;h2 id=&#34;citing-pastix&#34;&gt;Citing PaStiX&lt;/h2&gt;
&lt;p&gt;Feel free to use the following publications to reference PaStiX:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Original paper that initiated PaStiX:
&lt;ul&gt;
&lt;li&gt;Pascal Hénon, Pierre Ramet, Jean Roman. PaStiX: A High-Performance Parallel Direct Solver for Sparse Symmetric Definite Systems. Parallel Computing, Elsevier, 2002, 28 (2), pp.301&amp;ndash;321. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Parallel incomplete factorization implemented in PaStiX:
&lt;ul&gt;
&lt;li&gt;Pascal Hénon, Pierre Ramet, Jean Roman. On finding approximate supernodes for an efficient ILU(k) factorization. Parallel Computing, Elsevier, 2008, 34, pp.345&amp;ndash;362. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Reordering strategy for blocking optimization in PaStiX:
&lt;ul&gt;
&lt;li&gt;Grégoire Pichon, Mathieu Faverge, Pierre Ramet, Jean Roman. Reordering Strategy for Blocking Optimization in Sparse Linear Solvers. SIAM Journal on Matrix Analysis and Applications, Society for Industrial and Applied Mathematics, 2017, SIAM Journal on Matrix Analysis and Applications, 38 (1), pp.226 - 248. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;On the use of low rank approximations in PaStiX:
&lt;ul&gt;
&lt;li&gt;Grégoire Pichon, Eric Darve, Mathieu Faverge, Pierre Ramet, Jean Roman. Sparse supernodal solver using block low-rank compression: Design, performance and analysis. International Journal of Computational Science and Engineering, Inderscience, 2018, 27, pp.255 - 270. 
 
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SPM</title>
      <link>https://ramet.github.io/projects/spm/</link>
      <pubDate>Tue, 09 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://ramet.github.io/projects/spm/</guid>
      <description>&lt;h1 id=&#34;spm-sparse-matrix-package&#34;&gt;SPM: SParse Matrix package&lt;/h1&gt;
&lt;p&gt;
 

&lt;/p&gt;
&lt;p&gt;SPM (SParse Matrix package) is a scientific library that provides
comprehensive basic routines to manipulate sparse matrices in CSC, CSR,
and IJV formats.
The functionalities covered are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sparse matrix -by- dense matrix products&lt;/li&gt;
&lt;li&gt;Sparse matrix -by- vector products&lt;/li&gt;
&lt;li&gt;Norm computations&lt;/li&gt;
&lt;li&gt;Matrix and vector scaling&lt;/li&gt;
&lt;li&gt;Sort functions&lt;/li&gt;
&lt;li&gt;Graph symmetrization and merge of duplicate entries&lt;/li&gt;
&lt;li&gt;Random generators for right-hand sides&lt;/li&gt;
&lt;li&gt;Verification routines for linear solvers&lt;/li&gt;
&lt;li&gt;In-place format conversion routines&lt;/li&gt;
&lt;li&gt;Drivers to read matrices from files (MatrixMarket, Harwell-Boeing/RSA, IJV, &amp;hellip;)&lt;/li&gt;
&lt;li&gt;Laplacian generators for stencils&lt;/li&gt;
&lt;li&gt;Multi-DOF and variadic DOF support&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Python, Julia, and Fortran 90 wrappers are included in the package.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Warning&lt;/em&gt;: This package does not currently aim for peak performance,
but rather provides a portable API and a simple interface to manipulate
sparse matrices in both shared and distributed memory. This is conceptually
similar to what was proposed in the 

module for shared memory.&lt;/p&gt;
&lt;h2 id=&#34;get-spm&#34;&gt;Get SPM&lt;/h2&gt;
&lt;p&gt;The latest official release is &lt;strong&gt;v1.2.4&lt;/strong&gt; (July 2024). All releases, source tarballs, and changelogs are available on 
.&lt;/p&gt;
&lt;p&gt;To use the latest development version of SPM, please clone the master
branch. Note that SPM contains the &lt;strong&gt;morse_cmake&lt;/strong&gt; &lt;code&gt;git submodule&lt;/code&gt;.
To obtain the source code, please use the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Clone with submodules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone --recursive https://gitlab.inria.fr/solverstack/spm.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; spm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;documentation&#34;&gt;Documentation&lt;/h2&gt;
&lt;p&gt;The latest Doxygen documentation is available 
.&lt;/p&gt;
&lt;p&gt;The main functionalities are listed 
.&lt;/p&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;h3 id=&#34;build-and-install-with-cmake&#34;&gt;Build and install with CMake&lt;/h3&gt;
&lt;p&gt;SPM can be built using 
. The build requires several
library dependencies to be installed on the system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BLAS (MKL, OpenBLAS, &amp;hellip;) and CBLAS (sequential version required)&lt;/li&gt;
&lt;li&gt;LAPACK and LAPACKE&lt;/li&gt;
&lt;li&gt;Python and Fortran compiler for wrappers and examples (optional)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For instance, on Debian-like systems, dependencies can be installed with the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  sudo apt-get install cmake gcc gfortran libopenblas-dev liblapacke-dev python-numpy
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The main options to configure the SPM build are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Standard CMake options:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CMAKE_BUILD_TYPE&lt;/code&gt;: Debug, RelWithDebInfo, Release, MinSizeRel; we recommend using &lt;code&gt;Release&lt;/code&gt; or &lt;code&gt;RelWithDebInfo&lt;/code&gt; for best performance.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CMAKE_INSTALL_PREFIX&lt;/code&gt;: Specify the prefix directory to install the library.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BUILD_SHARED_LIBS=[OFF]&lt;/code&gt;: Enable building shared libraries (required for the Python wrapper).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Integer type:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SPM_INT64[=ON]&lt;/code&gt;: Enable/disable int64_t for integer arrays.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Documentation:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BUILD_DOCUMENTATION[=OFF]&lt;/code&gt;: Enable Doxygen documentation generation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-involved&#34;&gt;Get involved!&lt;/h2&gt;
&lt;h3 id=&#34;reporting-an-issue&#34;&gt;Reporting an issue&lt;/h3&gt;
&lt;p&gt;We strongly recommend all users to use the issue tracker to report any
problems with the software, or to submit feature requests. We will do
our best to answer them in a timely manner.&lt;/p&gt;
&lt;h3 id=&#34;contributions&#34;&gt;Contributions&lt;/h3&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;h2 id=&#34;authors&#34;&gt;Authors&lt;/h2&gt;
&lt;p&gt;The following people contribute or contributed to the development of SPM:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mathieu Faverge&lt;/li&gt;
&lt;li&gt;Matthieu Kuhn&lt;/li&gt;
&lt;li&gt;Xavier Lacoste&lt;/li&gt;
&lt;li&gt;Selmane Lebdaoui&lt;/li&gt;
&lt;li&gt;Grégoire Pichon&lt;/li&gt;
&lt;li&gt;Florent Pruvost&lt;/li&gt;
&lt;li&gt;Pierre Ramet&lt;/li&gt;
&lt;li&gt;Theophile Terraz&lt;/li&gt;
&lt;li&gt;Tony Delarue&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If we missed your name, please let us know so we can update the list.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License&lt;/h2&gt;
&lt;p&gt;
&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
