arXiv Science⌕ Search

arXiv subjects

Tomonori Kouya

Publications and source records attributed to Tomonori Kouya.

At least 19 recordsLinked to original sources

Performance Evaluation of an Adaptive Quadrature and a Double Exponential Formula Using Arbitrary-Precision Floating-Point Arithmetic

Using arbitrary-precision arithmetic provided by the GNU Multiple Precision Floating-Point Reliable Library, we implement AQE11D---that is, Ninomiya's adaptive 9-point Newton--Cotes rule extended with a sequence of higher-order rules---and Takahasi and Moris' double exponential (DE) formula. We evaluate them for Kahaner's 21 test problems. For both absolute tolerances $10^{-50}$ and $10^{-100}$, AQE11D attains target accuracy on all 21 problems; however, for strong endpoint singularity such as $1/\sqrt{x}$, it requires about $5.4\times10^{7}$ function evaluations at $10^{-100}$, roughly $7\times10^{4}$ times as many as the DE formula. The formula converges on 18 problems at both tolerances, demonstrating its strength against endpoint singularities but also its failure, as it stands, on problems with a singularity inside the integration interval.

math.NA↗

Accelerating Multiple-Precision LU Decomposition with Ozaki Scheme II

Solving ill-conditioned linear systems needs LU decomposition in precisions beyond binary64. The standard approaches -- GMP/MPFR, or multi-component arithmetic such as double-double -- leave every scalar multiply-add inside the O(n^3) update in multiple precision, and so cannot exploit the low-precision matrix engines that dominate current hardware. We build a blocked, partially pivoted LU decomposition on Ozaki scheme II, which replaces the multiple-precision GEMM by exact integer modular products followed by an explicit CRT reconstruction, and implement it for multi-component (DD/TD/QD) and arbitrary precision, on CPUs and GPUs. Two contributions make this practical: a direct conversion between the non-overlapping expansion format and the internal fixed-point representation, which removes the MPFR round trip and is worth a factor of 2.4--4.7; and new FP16, FP8 and binary64 GPU back-ends, the FP8 one using a balanced base-17 two-digit encoding that keeps the full 362.8-bit CRT capacity of INT8. On an Arm/GB10 and an x86/H100 the fastest back-end changes with the machine: INT8 wins on GB10, whereas on H100 binary64 is fastest for QD, beating both the native implementation and INT8. The essential point of Ozaki scheme II is thus not to use a low-precision engine but to choose the format maximising bits-per-modulus times engine throughput. For the Lotkin matrix at p ~ 1.2 log2 cond(A) we reach relative errors of 10^-645 at n=2048, up to 2.84x faster than a fully OpenMP-parallel multiple-precision LU. We also show by measurement that the O(p) advantage of scheme II over scheme I applies only to the GEMM term: modular reduction and CRT grow as O(p^2) and dominate the runtime at the matrix sizes considered here. The implementation is released as open source.

math.NA↗

Ozaki Scheme II Is Fast on CPUs Too: Multiple-Precision Matrix Multiplication on Intel AMX-INT8 and Arm SVE2-i8mm

We implement Ozaki Scheme II (residue number system + Chinese remainder theorem), which reduces multiple-precision dense matrix multiplication to a sequence of low-precision, high-throughput integer or floating-point GEMMs on CPUs. Two backends are built on top of a shared CRT reconstruction stage: (a) exact INT8 x INT8 -> INT32 tile products on Intel AMX, and (b) binary64 DGEMM, the CPU construction of the original Ozaki Scheme II paper. On a two-socket Xeon Gold 6526Y (Emerald Rapids, 32 cores), we evaluate significand precisions of 53-2048 bits and matrix dimensions N = 256-8192. The results are always within 1 ulp of a high-precision MPFR reference (essentially correctly rounded), while running up to 167x faster than a naive MPFR matrix product, up to 588x faster than BNCmatmul's Strassen multiplication, and 9-78x faster than Ozaki Scheme I (FP64 slicing + OpenBLAS DGEMM). The break-even point between the two backends is approximately N = 2048: below it, the binary64 backend wins thanks to its smaller number of moduli; above it, the AMX-INT8 backend wins as the GEMMs dominate. We further port the implementation to AArch64 (NVIDIA GB10: Cortex-X925 x 10 + Cortex-A725 x 10). Since this machine lacks SME/SME2, the INT8 kernel uses the SMMLA matrix-product instruction of the SVE2 i8mm extension. We obtain an exact INT8 GEMM sustaining 6.5 TOPS and, still within 1 ulp across all conditions, speedups of 14-89x over BNCmatmul's Ozaki Scheme I (OpenBLAS-linked routine) and 6-19x over a fairness-adjusted OzI-best variant. The paper also includes a tutorial introduction to Ozaki Scheme II (Section "Introduction to Ozaki Scheme II") and a quantitative explanation of why this seemingly GPU-specific technique is fast on CPUs as well.

math.NA↗

Performance evaluation of branch-free fused multiply-add algorithms for multi-component-type multiple-precision floating-point arithmetic

Multicomponent multiple-precision arithmetic is constructed from existing floating-point operations using error-free transformations (EFTs). Its performance can be improved by employing branch-free algorithms that eliminate conditional branches. Zhang and Aiken proposed branch-free addition and multiplication algorithms for double-word (DW), triple-word (TW), and quad-word (QW) arithmetic. We implemented their TW and QW algorithms, for which substantial performance improvements over conventional algorithms were expected, and demonstrated their effectiveness. In this paper, we propose branch-free fused multiply-add (FMA) algorithms for DW, TW, and QW arithmetic. The proposed algorithms integrate multiplication and addition into a single computational network and require fewer arithmetic operations than separately performing branch-free multiplication and addition. The anchor-relative error bounds, the preconditions of all FastTwoSum operations, and the non-overlapping properties of the outputs are mechanically verified using FPANVerifier, and input-relative error bounds are subsequently derived analytically. Benchmark results on CPUs and GPUs show that the proposed algorithms provide performance improvements in many compute-intensive cases, including division, square root, and basic linear algebra kernels, while maintaining accuracy comparable to that of the existing branch-free algorithms.

math.NA↗

Construction and Performance Evaluation of an Arbitrary-Precision Floating-Point Arithmetic Environment on CUDA

Arbitrary-precision floating-point arithmetic is used to solve ill-conditioned problems in scientific computing, and MPFR and MPC have become the de facto standard libraries for CPU-based computations. However, no publicly available environment provides MPFR/MPC functionality on GPUs. In this study, we developed mpc\_cuda, an arbitrary-precision arithmetic environment for GPUs, by leveraging generative AI (Claude Code) and rerunnable conversion scripts to faithfully port the mini-GMP-based MPFR/MPC libraries to CUDA kernels while reserving a per-thread temporary storage region (a bump arena). This approach accelerates real and complex elementary functions and basic linear algebra on GPUs by approximately 40--105$\times$, while remaining bit-identical to the host. In addition, we implemented compile-time fixed-precision types cu\_freal/cu\_fcomplex, and demonstrate, through benchmark tests involving the GMRES($m$) method and algebraic equation solving on GB10 and H100 GPUs, that the proposed implementation outperforms the existing GPU libraries CUMP and CAMPARY at low-to-medium precision.

cs.MS↗

Acceleration of multi-component multiple-precision arithmetic with branch-free algorithms and SIMD vectorization

Multiple-precision floating-point branch-free algorithms can significantly accelerate multi-component arithmetic implemented by combining hardware-based binary64 and binary32, particularly for triple- and quadruple-precision computations. In this study, we achieved benchmark results on x86 and ARM CPU platforms to quantify the accelerations achieved in linear computations and polynomial evaluation by integrating these algorithms.

cs.MS↗

Assessing the Performance of Mixed-Precision ILU(0)-Preconditioned Multiple-Precision Real and Complex Krylov Subspace Methods

Krylov subspace methods are linear solvers based on matrix-vector multiplications and vector operations. While easily parallelizable, they are sensitive to rounding errors and may experience convergence issues. ILU(0), an incomplete LU factorization with zero fill-in, is a well-known preconditioning technique that enhances convergence for sparse matrices. In this paper, we implement a double-precision and multiple-precision ILU(0) preconditioner, compatible with product-type Krylov subspace methods, and evaluate its performance.

math.NA↗

Performance evaluation of accelerated real and complex multiple-precision sparse matrix-vector multiplication

Sparse matrices have recently played a significant and impactful role in scientific computing, including artificial intelligence-related fields. According to historical studies on sparse matrix--vector multiplication (SpMV), Krylov subspace methods are particularly sensitive to the effects of round-off errors when using floating-point arithmetic. By employing multiple-precision linear computation, convergence can be stabilized by reducing these round-off errors. In this paper, we present the performance of our accelerated SpMV using SIMD instructions, demonstrating its effectiveness through various examples, including Krylov subspace methods.

math.NA↗

Performance evaluation of accelerated complex multiple-precision LU decomposition

The direct method is one of the most important algorithms for solving linear systems of equations, with LU decomposition comprising a significant portion of its computation time. This study explores strategies to accelerate complex LU decomposition using multiple-precision floating-point arithmetic of the multiple-component type. Specifically, we explore the potential efficiency gains using a combination of SIMDization and the 3M method for complex matrix multiplication. Our benchmark tests compare this approach with the direct method implementation in MPLAPACK, focusing on computation time and numerical errors.

math.NA↗

Acceleration of complex matrix multiplication using arbitrary precision floating-point arithmetic

Efficient multiple precision linear numerical computation libraries such as MPLAPACK are critical in dealing with ill-conditioned problems. Specifically, there are optimization methods for matrix multiplication, such as the Strassen algorithm and the Ozaki scheme, which can be used to speed up computation. For complex matrix multiplication, the 3M method can also be used, which requires only three multiplications of real matrices, instead of the 4M method, which requires four multiplications of real matrices. In this study, we extend these optimization methods to arbitrary precision complex matrix multiplication and verify the possible increase in computation speed through benchmark tests. The optimization methods are also applied to complex LU decomposition using matrix multiplication to demonstrate that the Ozaki scheme can be used to achieve higher computation speeds.

math.NA↗

Acceleration of Multiple Precision Matrix Multiplication using Ozaki scheme

Optimized multiple precision basic linear computation, especially matrix multiplication, is crucial for solving ill-conditioned problems. The recently proposed Ozaki scheme, which implements accurate matrix multiplication using existing optimized low precision matrix multiplication, is known to be useful for multiple precision as well. In this paper, we implement fixed precision multi-component-way matrix multiplication using Ozaki scheme and show that in some cases it is faster than existing optimized matrix multiplications. We also show that arbitrary precision matrix multiplication using Ozaki scheme is also faster than Strassen matrix multiplication up to a certain precision.

math.NA↗

Acceleration of multiple precision solver for ill-conditioned algebraic equations with lower precision eigensolver

There are some types of ill-conditioned algebraic equations that have difficulty in obtaining accurate roots and coefficients that must be expressed with a multiple precision floating-point number. When all their roots are simple, the problem solved via eigensolver (eigenvalue method) is well-conditioned if the corresponding companion matrix has its small condition number. However, directly solving them with Newton or simultaneous iteration methods (direct iterative method for short) should be considered as ill-conditioned because of increasing density of its root distribution. Although a greater number of mantissa of floating-point arithmetic is necessary in the direct iterative method than eigenvalue method, the total computational costs cannot obviously be determined. In this study, we target Wilkinson's example and Chebyshev quadrature problem as examples of ill-conditioned algebraic equations, and demonstrate some concrete numerical results to prove that the direct iterative method can perform better than standard eigensolver.

math.NA↗

Accelerated Multiple Precision Direct Method and Mixed Precision Iterative Refinement on Python Programming Environment

Current Python programming environment does not have any reliable and efficient multiple precision floating-point (MPF) arithmetic except ``mpmath" and ``gmpy2" packages based on GNU MP(GMP) and MPFR libraries. Although it is well known that multi-component-type MPF library can be utilized for middle length precision arithmetic under 200 bits, they are not widely used on Python environment. In this paper, we describe our accelerated MPF direct method with AVX2 techniques and its application to mixed precision iterative refinement combined with mpmath, and demonstrate their efficiency on x86\_64 computational environments.

cs.MS↗

Acceleration of multiple precision matrix multiplication based on multi-component floating-point arithmetic using AVX2

In this paper, we report the results obtained from the acceleration of multi-binary64-type multiple precision matrix multiplication with AVX2. We target double-double (DD), triple-double (TD), and quad-double (QD) precision arithmetic designed by certain types of error-free transformation (EFT) arithmetic. Furthermore, we implement SIMDized EFT functions, which simultaneously compute with four binary64 numbers on x86_64 computing environment, and by using help of them, we also develop SIMDized DD, TD, and QD additions and multiplications. In addition, AVX2 load/store functions were adopted to efficiently speed up reading and storing matrix elements from/to memory. Owing to these combined techniques, our implemented multiple precision matrix multiplications have been accelerated more than three times compared with non-accelerated ones. Our accelerated matrix multiplication modifies the performance of parallelization with OpenMP.

math.NA↗

Performance Evaluation of an Extrapolation Method for Ordinary Differential Equations with Error-free Transformation

The application of error-free transformation (EFT) is recently being developed to solve ill-conditioned problems. It can reduce the number of arithmetic operations required, compared with multiple precision arithmetic, and also be applied by using functions supported by a well-tuned BLAS library. In this paper, we propose the application of EFT to explicit extrapolation methods to solve initial value problems of ordinary differential equations. Consequently, our implemented routines can be effective for large-sized linear ODE and small-sized nonlinear ODE, especially in the case when harmonic sequence is used.

math.NA↗

Tuning Technique for Multiple Precision Dense Matrix Multiplication using Prediction of Computational Time

Although reliable long precision floating-point arithmetic libraries such as QD and MPFR/GMP are necessary to solve ill-conditioned problems in numerical simulation, long precision BLAS-level computation such as matrix multiplication has not been fully optimized because tuning costs are very high compared to IEEE float and double precision arithmetic. In this study, we develop a technique to shorten this tuning time by using prediction of computational times in several block sizes for the blocking algorithm, and then selecting the fastest matrix multiplication method for tuning multiple precision dense real matrix multiplication in various precisions, matrix sizes, and degrees of parallelization.

cs.MS↗

Performance evaluation of multiple precision matrix multiplications using parallelized Strassen and Winograd algorithms

It is well known that Strassen and Winograd algorithms can reduce the computational costs associated with dense matrix multiplication. We have already shown that they are also very effective for software-based multiple precision floating-point arithmetic environments such as the MPFR/GMP library. In this paper, we show that we can obtain the same effectiveness for double-double (DD) and quadruple-double (QD) environments supported by the QD library, and that parallelization can increase the speed of these multiple precision matrix multiplications. Finally, we demonstrate that our implemented parallelized Strassen and Winograd algorithms can increase the speed of parallelized LU decomposition.

math.NA↗

A Highly Efficient Implementation of Multiple Precision Sparse Matrix-Vector Multiplication and Its Application to Product-type Krylov Subspace Methods

We evaluate the performance of the Krylov subspace method by using highly efficient multiple precision sparse matrix-vector multiplication (SpMV). BNCpack is our multiple precision numerical computation library based on MPFR/GMP, which is one of the most efficient arbitrary precision floating-point arithmetic libraries. However, it does not include functions that can manipulate multiple precision sparse matrices. Therefore, by using benchmark tests, we show that SpMV implemented in these functions can be more efficient. Finally, we also show that product-type Krylov subspace methods such as BiCG and GPBiCG in which we have embedded SpMV, can efficiently solve large-scale linear systems of equations provided in the UF sparse matrix collections in a memory-restricted computing environment.

math.NA↗