**Tutorial**'.

**Name:** Matrix Multiplication
**Contact Person:** support-compss@bsc.es
**Access Level:** public
**License Agreement:** Apache2
**Platform:** COMPSs

# Description

Matrix multiplication is a binary operation that takes a pair of matrices and produces another matrix.

If A is an n×m matrix and B is an m×p matrix, the result AB of their multiplication is an n×p matrix defined only if the number of columns m in A is equal to the number of rows m in B. When multiplying A and B, the elements of the ...

**Name:** Matrix Multiplication
**Contact Person:** support-compss@bsc.es
**Access Level:** public
**License Agreement:** Apache2
**Platform:** COMPSs

# Description

Matrix multiplication is a binary operation that takes a pair of matrices and produces another matrix.

If A is an n×m matrix and B is an m×p matrix, the result AB of their multiplication is an n×p matrix defined only if the number of columns m in A is equal to the number of rows m in B. When multiplying A and B, the elements of the ...

**Name:** Word Count
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

Wordcount is an application that counts the number of words for a given set of files.

To allow parallelism the file is divided in blocks that are treated separately and merged afterwards.

Results are printed to a Pickle binary file, so they can be checked using: python -mpickle result.txt

This example also shows how to manually add input or ...

**Type**: COMPSs

**Creators: **Javier Conejero, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Name:** Java Wordcount
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

Wordcount application. There are two versions of Wordcount, depending on how the input data is given.

## Version 1

''Single input file'', where all the text is given in the same file and the chunks are calculated with a BLOCK_SIZE parameter.

## Version 2

''Multiple input files'', where the text fragments are already in different files under ...

**Type**: COMPSs

**Creators: **Jorge Ejarque, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Name:** Increment
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

Increment is an application that takes three different values and increases them a number of given times.

The purpose of this application is to show parallelism between the different increments.

# Execution instructions

Usage:

```
runcompss --lang=python src/increment.py N initValue1 initValue2 initValue3
```

where:

- N: Number of times to increase ...

**Type**: COMPSs

**Creators: **Javier Conejero, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Contact Person:** support-compss@bsc.es
**Access Level:** public
**License Agreement:** Apache2
**Platform:** COMPSs

# Description

Simple is an application that takes one value and increases it by five units. The purpose of this application is to show how tasks are managed by COMPSs.

# Execution instructions

Usage:

```
runcompss --lang=python src/simple.py initValue
```

where:

- initValue: Initial value for counter

# Execution Examples

```
runcompss --lang=python src/simple.py 1
runcompss
...
```

**Type**: COMPSs

**Creators: **Javier Conejero, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Name:** K-means
**Contact Person**: support-compss@bsc.es
**Access Level**: Public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

K-means clustering is a method of cluster analysis that aims to partition ''n'' points into ''k'' clusters in which each point belongs to the cluster with the nearest mean. It follows an iterative refinement strategy to find the centers of natural clusters in the data.

When executed with COMPSs, K-means first generates the input points by means of ...

**Type**: COMPSs

**Creators: **Jorge Ejarque, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Name:** Word Count
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

Wordcount is an application that counts the number of words for a given set of files.

To allow parallelism every file is treated separately and merged afterwards.

# Execution instructions

Usage:

```
runcompss --lang=python src/wordcount.py datasetPath
```

where:

- datasetPath: Absolute path of the file to parse (e.g. /home/compss/tutorial_apps/python/wordcount/data/) ...

**Type**: COMPSs

**Creators: **Javier Conejero, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Name:** SparseLU
**Contact Person:** support-compss@bsc.es
**Access Level:** public
**License Agreement:** Apache2
**Platform:** COMPSs

# Description

The Sparse LU application computes an LU matrix factorization on a sparse blocked matrix. The matrix size (number of blocks) and the block size are parameters of the application.

As the algorithm progresses, the area of the matrix that is accessed is smaller; concretely, at each iteration, the 0th row and column of the current matrix are discarded. ...

**Type**: COMPSs

**Creators: **Jorge Ejarque, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing)

**Submitter**: Raül Sirvent

**Name:** Matrix Multiplication
**Contact Person:** support-compss@bsc.es
**Access Level:** public
**License Agreement:** Apache2
**Platform:** COMPSs

# Description

Matrix multiplication is a binary operation that takes a pair of matrices and produces another matrix.

If A is an n×m matrix and B is an m×p matrix, the result AB of their multiplication is an n×p matrix defined only if the number of columns m in A is equal to the number of rows m in B. When multiplying A and B, the elements of the ...

**Type**: COMPSs

**Creators: **Jorge Ejarque, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing)

**Submitter**: Raül Sirvent

**Name:** Matrix multiplication with Objects
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

If A is an n×m matrix and B is an m×p matrix, the result AB of their multiplication is an n×p matrix defined only if the number of columns m in A is equal to the number of rows m in B. When multiplying A and B, the ...

**Type**: COMPSs

**Creators: **Javier Conejero, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent

**Name:** Matrix multiplication with Files
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

If A is an n×m matrix and B is an m×p matrix, the result AB of their multiplication is an n×p matrix defined only if the number of columns m in A is equal to the number of rows m in B. When multiplying A and B, the elements ...

**Type**: COMPSs

**Creators: **Javier Conejero, The Workflows and Distributed Computing Team (https://www.bsc.es/discover-bsc/organisation/scientific-structure/workflows-and-distributed-computing/)

**Submitter**: Raül Sirvent