Giter Site home page Giter Site logo

jacobi-svd-evd's People

Contributors

eozd avatar ktrianta avatar martinkarp avatar rajasimha avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

jacobi-svd-evd's Issues

Experiment with different input sizes

Currently we measure the performance of our codes on input sizes that are powers of 2.

Experiment with a bigger variety of input sizes. Block size (in blocking codes) should be set accordingly, i.e. such that the input size is a multiple of the block size.

SVD Blocking without copying

We can try to implement the blocked version of SVD without explicitly creating the intermediate matrices, thereby reducing the overall data movement and possibly increasing the performance.

Experiment with different compilers

Currently we are compiling our code with gcc. Experiment by using icc and clang.
Another area of experimentation could be to try different optimization flags.

Autotuning

Create an autotuning infrastructure that aids us in finding the optimal block size for our codes and benchmarks.

Git hooks

We need to incorporate git hooks into the project to automatically format the committed codes, and possibly lint the code (maybe cpplint ?).

Highly optimized block matrix multiplication

Blocked algorithms employ block matrix multiplications. To get the highest performance, we need to optimize the block matrix multiplication algorithms as much as possible. Furthermore, block based algorithms also do block matrix additions. We probably need to create a separate version of block matrix multiplication that performs C = C + AB. Consequently, we need two algorithms

  • block matrix multiplication that performs C = AB
  • block matrix multiplication that performs C = C + AB.

The code for both should be pretty much the same.

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.