ece420lab4's People
Forkers
jbcugliettaece420lab4'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
Write implementation and performance discussion section of report.
This goes with #2
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.
Create submission archive
- Clean out unnecessary files
- Make sure makefile conforms to lab spec
@jbcuglietta: please let me know when your testing is finished and I will create this.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.