Searcharxiv⌕ Search

arXiv subjects

Lennart Van Hirtum

Publications and source records attributed to Lennart Van Hirtum.

4 recordsLinked to original sources

SUSpMV: A High Frequency Sparse Matrix Vector Multiplier on HBM Enabled FPGA written in SUS

SUSpMV is a Sparse Matrix Vector multiplication (SpMV) accelerator written in the upcoming HDL SUS. By leveraging SUS's unique latency counting and inference mechanism, SUSpMV could be designed with very deep pipelines yet small design complexity overhead. This enables an efficient implementation which employs all 32 HBM channels on the Alveo U280 FPGA at 400MHz for streaming matrix data into 32 Compute Units (CUs). Input and output vectors are stored in DDR memory, which allows zero-overhead chaining of multiplications and increases overall system memory bandwidth by not sharing HBM bandwidth with the CUs. A CU processes the SpMV in tiles of width 1024 and a dynamically chosen height, up to 32768. Each CU is capable of accumulating the multiplications with up to 6 separate matrix entries per cycle, resulting in the combined theoretical peak computational throughput of 153.6 GFLOPs. The matrix storage format is designed to exploit density variation within a given matrix by dynamically switching between one representation optimized for denser regions, and a second optimized for sparser regions, allowing jumps of up to 255 rows between each entry. Evaluation demonstrates a 79% geometric mean improvement over prior work on the same platform. We achieve a peak throughput of 144.9 GFLOPs, or 94% of our theoretical computational throughput, compared to 98 GFLOPs reached by prior work.

cs.AR↗

Statistical Estimation of higher Dedekind Numbers

We provide highly accurate estimations of the 10th through 15th Dedekind Numbers, to a precision of 4 digits for $D(10)$, to 2 digits for $D(15)$. These estimates were obtained using three methods, including pair matching on large quantities of 9-dimensional monotone Boolean functions for $D(10)$, Reference Subsets for $D(10)$, $D(11)$, and $D(12)$. And our best method "Weight Layer Branching" which provided accurate estimates for all $D(10)$ through $D(15)$, strongly improving on the previous best known estimates by Korshunov and Tian-Shun Chen et al. arXiv:2606.09795

math.CO↗

Solving systems of equations on antichains for the computation of the ninth Dedekind Number

We study systems of equations on antichains, together with a way to count the number of solutions. We start with a simple example, generalise and show more applications. One of the results was used in the recent computation of D(9), the others have potential to speed up existing techniques in the future. In fact, the result of two independent computations of D(9) were published nearly at the same time, in one of them the authors of the present paper were involved. D(n) counts the monotone Boolean functions or antichains on subsets of a set of n elements. The number rises doubly exponentially in the number of elements n, and until now no algorithm of a lower combinatorial complexity is known to compute D(n). In our computation, we use coefficients representing the number of solutions of a specific set of equations on antichains over a finite set. We refer to these coefficients as P-coefficients. These can be computed efficiently. In this paper, we generalise this coefficient and apply it to four different systems of equations. Finally we show how the coefficient was used in our computation of D(9), and how its generalisations can be used to compute D(n).

math.CO↗

A computation of D(9) using FPGA Supercomputing

This preprint makes the claim of having computed the $9^{th}$ Dedekind Number. This was done by building an efficient FPGA Accelerator for the core operation of the process, and parallelizing it on the Noctua 2 Supercluster at Paderborn University. The resulting value is 286386577668298411128469151667598498812366. This value can be verified in two steps. We have made the data file containing the 490M results available, each of which can be verified separately on CPU, and the whole file sums to our proposed value.

cs.DM↗