Java COMPSs LU Factorization for Sparse Matrices
**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. On the other hand, due to the sparseness of the matrix, some of its blocks might not be allocated and, therefore, no work is generated for them.
When executed with COMPSs, Sparse LU produces several types of task with different granularity and numerous dependencies between them.
# Versions
There are three versions of Sparse LU, depending on the data types used to store the blocks.
## Version 1
''files'', where the matrix blocks are stored in files.
## Version 2
''objects'', where the matrix blocks are represented by objects.
## Version 3
''arrays'', where the matrix blocks are stored in arrays.
# Execution instructions
Usage:
```
runcompss sparseLU.files.SparseLU numberOfBlocks blockSize
runcompss sparseLU.objects.SparseLU numberOfBlocks blockSize
runcompss sparseLU.arrays.SparseLU numberOfBlocks blockSize
```
where:
* numberOfBlocks: Number of blocks inside each matrix
* blockSize: Size of each block
# Execution Example
```
runcompss sparseLU.objects.SparseLU 16 4
runcompss sparseLU.files.SparseLU 16 4
runcompss sparseLU.arrays.SparseLU 16 4
```
# Build
## Option 1: Native java
```
cd application_sources/; javac src/main/java/sparseLU/*/*.java
cd src/main/java/; jar cf sparseLU.jar sparseLU/
cd ../../../; mv src/main/java/sparseLU.jar jar/
```
## Option 2: Maven
```
cd application_sources/
mvn clean package
```
- Publisher
- [<#ROCrate::Organization https://ror.org/05sd8tv96 @properties={"@id"=>"https://ror.org/05sd8tv96", "@type"=>"Organization", "name"=>"Barcelona Supercomputing Center"}>]
- License
- Apache-2.0
Contents
-
SparseLU.java
Size: 6602
Format: text/plain
-
complete_graph.svg
Size: 21106
Format: [["image/svg+xml", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/fmt/92 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/fmt/92", "@type"=>"WebSite", "name"=>"Scalable Vector Graphics"}>]]
-
Block.java
Size: 5589
Format: text/plain
-
SparseLUItf.class
Size: 904
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLUImpl.java
Size: 2431
Format: text/plain
-
App_Profile.json
Size: 1584
Format: ["application/json", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/fmt/817 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/fmt/817", "@type"=>"WebSite", "name"=>"JSON Data Interchange Format"}>]
-
compss_command_line_arguments.txt
Size: 695
Format: text/plain
-
Block.class
Size: 4135
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLUItf.java
Size: 1808
Format: text/plain
-
SparseLUImpl.class
Size: 1310
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLU.class
Size: 4682
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
Block.java
Size: 4345
Format: text/plain
-
SparseLUItf.class
Size: 816
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLU.java
Size: 4740
Format: text/plain
-
Block.class
Size: 2991
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLUItf.java
Size: 1529
Format: text/plain
-
SparseLU.class
Size: 3403
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLUItf.class
Size: 808
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLUImpl.java
Size: 4114
Format: text/plain
-
SparseLU.java
Size: 4840
Format: text/plain
-
SparseLUItf.java
Size: 1899
Format: text/plain
-
SparseLUImpl.class
Size: 2430
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
SparseLU.class
Size: 3304
Format: [["Java .class", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/415", "@type"=>"WebSite", "name"=>"Java Compiled Object Code"}>]]
-
sparseLU.jar
Size: 28758
Format: [["application/java-archive", <#ROCrate::ContextualEntity https://www.nationalarchives.gov.uk/PRONOM/x-fmt/412 @properties={"@id"=>"https://www.nationalarchives.gov.uk/PRONOM/x-fmt/412", "@type"=>"WebSite", "name"=>"Java Archive Format"}>]]
-
resources.xml
Size: 983
-
project.xml
Size: 289
-
Readme
Size: 1935
-
pom.xml
Size: 4454
-
ro-crate-info.yaml
Size: 2628
-
A.0.0
Size: 1234
-
A.0.1
Size: 1182
-
A.0.2
Size: 1217
-
A.1.0
Size: 1244
-
A.1.1
Size: 1238
-
A.1.2
Size: 1233
-
A.2.0
Size: 1214
-
A.2.1
Size: 1255
-
A.2.2
Size: 1251
-
A.2.3
Size: 1219
-
A.3.2
Size: 1290
-
A.3.3
Size: 1250