Git Product home page Git Product logo

Comments (3)

chenxm1986 avatar chenxm1986 commented on July 28, 2024

I've read some papers about FPGA-based sparse direct solvers. For all I know, these are all research works and I've never seen a success of using FPGAs in practical sparse direct solvers. Even for mature GPUs and mature CUDA, there are very few usages in practical sparse direct solvers. I believe there are unsolved challenges for using FPGAs in practical sparse LU factorization solvers.

Another important question is whether FPGAs can really be faster than CPUs for sparse LU factorization. From my experience on GPU-based sparse LU factorization, the answer is pessimistic. The results reported in papers are usually misleading. They are not end-to-end comparisons and the baselines are not the fastest CPU implementation. FPGAs and GPUs are not good at handling irregular problems. Sparse LU factorization is a representative irregular problem. Though CKTSO has a GPU module, it is faster than the CPU module only for relatively dense matrices. I believe the situation is similar for FPGAs, or even worse. In fact, the performance bottleneck is memory access, but not computation. FPGAs do not have special mechanisms to handle irregular memory access. From this point of view, I believe CPUs with large caches are still the best choice for sparse LU factorization for circuit matrices.

from cktso.

gkovacsds avatar gkovacsds commented on July 28, 2024

Thank you for the answer - now my colleague directed me to an earlier paper including you as co-author - FPGA Accelerated Parallel Sparse Matrix Factorization for Circuit Simulations
Was this project and research direction a success then, or further practical application did not really work out? We are curious, if you can tell us more. We are researching this FPGA calculation topic right now - we have a commercial circuit simulation package product actually.

from cktso.

chenxm1986 avatar chenxm1986 commented on July 28, 2024

yes, I was involved in that early paper. I contributed some parallelism ideas. You can see that we only tested very few cases and they only showed 2-3X speedup against KLU. Current CKTSO can easily achieve this speedup even using a single thread. From an academic research point of view, trying new hardware architectures to show how to optimize the algorithm implementations targeted at reconfigurable or massively parallel hardware has scientific significance. But for practical usage, the only issue is the absolute performance. If the GPU or FPGA solver cannot be faster than CPU, there is no practical significance. I believe there are also many other practical issues need to be solved, rather than scientific problems, to really achieve higher performance than CPU solvers. If FPGAs can be faster for relatively dense matrices, it is also good.

from cktso.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.