Results 1 -
5 of
5
Solving bivariate polynomial systems on a GPU
- Journal of Physics: Conference Series
"... Abstract. We present a CUDA implementation of dense multivariate polynomial arithmetic based on Fast Fourier Transforms over finite fields. Our core routine computes on the device (GPU) the subresultant chain of two polynomials with respect to a given variable. This subresultant chain is encoded by ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
(Show Context)
Abstract. We present a CUDA implementation of dense multivariate polynomial arithmetic based on Fast Fourier Transforms over finite fields. Our core routine computes on the device (GPU) the subresultant chain of two polynomials with respect to a given variable. This subresultant chain is encoded by values on a FFT grid and is manipulated from the host (CPU) in higher-level procedures. We have realized a bivariate polynomial system solver supported by our GPU code. Our experimental results (including detailed profiling information and benchmarks against a serial polynomial system solver implementing the same algorithm) demonstrate that our strategy is well suited for GPU implementation and provides large speedup factors with respect to pure CPU code. 1.
Accelerating Iterative SpMV for Discrete Logarithm Problem using GPUs
, 2013
"... In the context of cryptanalysis, computing discrete logarithms in large cyclic groups using index-calculus-based methods, such as the number field sieve or the function field sieve, requires solving large sparse systems of linear equations modulo the group order. Most of the fast algorithms used to ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
(Show Context)
In the context of cryptanalysis, computing discrete logarithms in large cyclic groups using index-calculus-based methods, such as the number field sieve or the function field sieve, requires solving large sparse systems of linear equations modulo the group order. Most of the fast algorithms used to solve such systems — e.g., the conjugate gradient or the Lanczos and Wiedemann algorithms — iterate a product of the corresponding sparse matrix with a vector (SpMV). This central operation can be accelerated on GPUs using specific computing models and addressing patterns, which increase the arithmetic intensity while reducing irregular memory accesses. In this work, we investigate the implementation of SpMV kernels on NVIDIA GPUs, for several representations of the sparse matrix in memory. We explore the use of Residue Number System (RNS) arithmetic to accelerate modular operations. We target linear systems arising when attacking the discrete logarithm problem on groups of size 160 to 320 bits, which are relevant for current cryptanalytic computations. The proposed SpMV implementation contributed to solving the discrete logarithm problem in GF(2 619) and GF(2 809) using the FFS algorithm.
Elements of Design for Containers and Solutions in the LinBox library Extended abstract
"... We describe in this paper new design techniques used in the C++ ex-act linear algebra library LinBox, intended to make the library safer and easier to use, while keeping it generic and efficient. First, we review the new simplified structure for containers, based on our founding scope al-location mo ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
(Show Context)
We describe in this paper new design techniques used in the C++ ex-act linear algebra library LinBox, intended to make the library safer and easier to use, while keeping it generic and efficient. First, we review the new simplified structure for containers, based on our founding scope al-location model. We explain design choices and their impact on coding: unification of our matrix classes, clearer model for matrices and subma-trices, etc. Then we present a variation of the strategy design pattern that is comprised of a controller–plugin system: the controller (solution) chooses among plug-ins (algorithms) that always call back the controllers for subtasks. We give examples using the solution mul. Finally we present a benchmark architecture that serves two purposes: Providing the user with easier ways to produce graphs; Creating a framework for automati-cally tuning the library and supporting regression testing.
Resolution of Linear Algebra for the Discrete Logarithm Problem using GPU and Multi-core Architectures
"... ar ..."
(Show Context)
Generating Optimized Sparse Matrix Vector Product over Finite Fields
"... Abstract. Sparse Matrix Vector multiplication (SpMV) is one of the most important operation for exact sparse linear algebra. A lot of re-search has been done by the numerical community to provide efficient sparse matrix formats. However, when computing over finite fields, one need to deal with multi ..."
Abstract
- Add to MetaCart
(Show Context)
Abstract. Sparse Matrix Vector multiplication (SpMV) is one of the most important operation for exact sparse linear algebra. A lot of re-search has been done by the numerical community to provide efficient sparse matrix formats. However, when computing over finite fields, one need to deal with multi-precision values and more complex operations. In order to provide highly efficient SpMV kernel over finite field, we pro-pose a code generation tool that uses heuristics to automatically choose the underlying matrix representation and the corresponding arithmetic.