cs205-lecture-examples

Example codes used during Harvard CS205 lectures
git clone https://git.0xfab.ch/cs205-lecture-examples.git
Log | Files | Refs | README | LICENSE

sgemv.cpp (536B)


      1 #include <cstdlib>
      2 
      3 void sgemv_noaliasing(const float *A,
      4                       const float *x,
      5                       float *__restrict__ y,
      6                       const size_t n)
      7 {
      8     for (size_t j = 0; j < n; ++j) {
      9         for (size_t i = 0; i < n; ++i) {
     10             y[j] += A[j * n + i] * x[i];
     11         }
     12     }
     13 }
     14 
     15 void sgemv_aliasing(const float *A, const float *x, float *y, const size_t n)
     16 {
     17     for (size_t j = 0; j < n; ++j) {
     18         for (size_t i = 0; i < n; ++i) {
     19             y[j] += A[j * n + i] * x[i];
     20         }
     21     }
     22 }