Giter Club home page Giter Club logo

asp-task7-performance's Introduction

Task 7 - Performance

This weeks exercise requires you to optimize matrix multiplication as well as mandelbrot set calculation. You're provided with implementations in matrix.cpp and mandelbrot.cpp.

Task 7.1 - Matrix

Optimize the code in matrix.cpp in terms of performance. Your task is to get as close as possible to our optimized code that we've committed as binaries (or even surpass it!).

Task 7.2 - Mandelbrot

Optimize the code in mandelbrot.cpp in terms of performance. Your task is to get as close as possible to our optimized code that we've committed as binaries (or even surpass it!).

Deliveries

Deliver libmatrix.so and libmandelbrot.so in the project root directory exporting the symbols from matrix.h and mandelbrot.h.

Notes

  • If you want to multi-thread your code, use a maximum of 4 (four) threads. You can expect all inputs of your code to be a multiple of 4 in size.
  • If you want to use SIMD in your code, use only SSE and SSE2 intrinsics. You can filter the instructions sets on the "Intel Intrinsics Guide" (see references).
  • We know that there are faster algorithms for matrix multiplication such as Strassen Algorithm. We do not want you to implement that. We want you to optimize the naive version given in matrix.cpp. The same goes for mandelbrot if you find a faster algorithm.
  • For mandelbrot, you're required to use the parameters given in tests/mandelbrot_params.h. Do not change them.
  • Regarding Rust, use the instrinsics from core::arch::x86_64 and not std::simd.

References

asp-task7-performance's People

Contributors

kesamanthachen avatar github-classroom[bot] avatar

Watchers

 avatar

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.