Giter Club home page Giter Club logo

ece420lab4's People

Contributors

jbcuglietta avatar ryant26 avatar

Watchers

 avatar  avatar

Forkers

jbcuglietta

ece420lab4's Issues

Gather test statistics / analyze in testing section of report

  • Need all stats for a single computer and cluster
  • Follow same testing procedure and display as all previous labs
    • 5 runs at each number of threads (processes in this case) take average
    • generate speedup and efficiency charts
  • Finally put all the raw data, charts and analysis in the report

Create set of matrix utilities to store a matrix in row major form

The way we have worked with matrices in this class so far wont work well with MPI's communication functionality. We need to store the matrix in row major form (a way to store a matrix in 1 contiguous block of memory, that is, a single array).

The supporting operations we need for this are:

double get_element(int i, int j);
void set_element(int i, int j, double value);

// The matrix argument would be just a pointer
// That is, it has not already been malloc'd
// mallocing the memory would be the job of create_matrix
void create_matrix(double ***matrix, int height, int width);

The utility to read in matrices would have to be adapted to use this.

Implement parallel page rank with MPI

An easy approach would be :

  • Broadcast the entire weight matrix to every process
    • The last column in the weight matrix needs to contain the number of outgoing edges for that node
    • IE Weightmatrix[n][i] contains the number of outgoing edges from node i
  • Each process calculates the page rank for a subset of nodes (the size of the subset depends on the number of processes)
  • The master process gathers all the page ranks for that iteration
  • repeat.

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.