vatai / mpk

Matrix powers kernel
1 stars 0 forks source link

Apply optimisations pernode/hybrid optimisation #27

Open vatai opened 5 years ago

vatai commented 5 years ago

The inter node/distributed memory is solved using MPI, but there is room for optimisation within a node, i.e. using multi-threadding/OpenMP.

A basic idea from me was that mval[phase] is calculated by getting data from smaller memory addresses, i.e. to calculate mval[i] we need mval[k1]..mval[kn] where k1 < .. < kn < i, so by making the distance betwee kn and i large, (for every i) we can do multi threaded parallelism.

Another source of acceleration is of course the material we received from Demmel.

vatai commented 5 years ago

This is related to #28