**COMPSs**'.

**Teams:** Cluster Emergent del Cervell Humà, Workflows and Distributed Computing, WP6 - Tsunamis, WP7 - Earthquakes, WP8 - Anthropogenic geophysical extremes, WP5 - Volcanoes, Pillar I: Manufacturing, Pillar II: Climate, Pillar III: Urgent computing for natural hazards, eFlows4HPC general, COMPSs Tutorials

**Organizations:** Barcelona Supercomputing Center (BSC-CNS)

**Expertise:** Workflows, Programming Models, High Performance Computing, Distributed Computing, Provenance

**Tools:** COMPSs

Established Researcher at Workflows and Distributed Computing Group, Computer Sciences department, Barcelona Supercomputing Center.

Session during the Innovative HPC workflows for industry (https://eflows4hpc.eu/event/innovative-hpc-workflows-for-industry/) that describes how Workflow Provenance is recorded with COMPSs: the background on the tools used, how the recording has been designed, and how to use it and inspect metadata.

**Creator: **Raül Sirvent

**Submitter**: Raül Sirvent

Provenance registration is becoming more and more important, as we increase the size and number of experiments performed using computers. In particular, when provenance is recorded in HPC environments, it must be efficient and scalable. In this paper, we propose a provenance registration method for scientific workflows, efficient enough to run in supercomputers (thus, it could run in other ...

**Creator: **Raül Sirvent

**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 ...

**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:** KMeans
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs
**Machine**: MareNostrum5

KMEans for clustering the housing.csv dataset (https://github.com/sonarsushant/California-House-Price-Prediction/blob/master/housing.csv). This application used dislib-0.9.0

**Name:** TruncatedSVD (Randomized SVD)
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs
**Machine**: MareNostrum5

TruncatedSVD (Randomized SVD) for computing just 456 singular values out of a (4.5M x 850) size matrix. The input matrix represents a CFD transient simulation of air moving past a cylinder. This application used dislib-0.9.0

**Name:** Incrementation and Fibonacci
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs

# Description

**Brief Overview:** Demonstrates COMPSs task parallelism with increment and Fibonacci computations. Helps to understand COMPSs.

**Detailed Description:**

- Performs multiple increments of input values in parallel using COMPSs.
- Concurrently calculates Fibonacci numbers using recursive COMPSs tasks.
- Demonstrates task synchronization via
`compss_wait_on`

.

# Execution

...

**Type**: COMPSs

**Creators: **Ashish Bhawel, Ashish Bhawel, Uploading this Workflow under the guidance of Raül Sirvent.

**Submitter**: Ashish Bhawel

Calculates the Fibonacci series up to a specified length.

**Type**: COMPSs

**Creator: **Uploading this Workflow under the guidance of Raül Sirvent.

**Submitter**: Ashish Bhawel

**Name:** Random Forest
**Contact Person**: support-compss@bsc.es
**Access Level**: public
**License Agreement**: Apache2
**Platform**: COMPSs
**Machine**: MareNostrum4
This is an example of Random Forest algorithm from dislib. To show the usage, the code generates a synthetical input matrix.
The results are printed by screen.
This application used dislib-0.9.0

**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:** 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:** 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

Sample workflow template that combines simulations with data analytics. It is not a real workflow, but it mimics this type of workflows. It illustrates how COMPSs invokes binaries. It can be extended to invoke MPI applications.