Skip to content
Snippets Groups Projects
Select Git revision
  • basic-profiling
  • master default protected
  • report
  • 0.9 protected
4 results

sparse-transform

  • Open with
  • Download source code
  • Your workspaces

      A workspace is a virtual sandbox environment for your code in GitLab.

      No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

  • Paul Nitzke's avatar
    Paul Nitzke authored
    * We can use the Stopwatch class to time the execution of our program.
    * This commit implements this experimentally for the partition to
      colored dot execution path.
    * This is considered a work in progress and should NOT be merged into
      master.
    * A proper implementation would likely involve some overseeing structure
      in ConversionManager for the execution methods to hook into and
      provide their timing
    * The goal is to design this independent from the frontend so an
      interface to the frontend must also be provided.
    fc8d9260
    History

    SparseTransform

    This is a program to transform sparse matrices from the SuiteSparse matrix collection to DOT graphs and perform coloring on them.

    How to Run

    Using Microsoft Visual Studio 2022: Open SparseTransform.sln, set the SparseTransform.CLI project as default and run using the provided interface tools. This might be done by pressing CTRL + F5.

    The instructions below assume that your working directory is at the project root

    Using the .NET SDK command dotnet: Execute

    dotnet run --project ./src/SparseTransform.CLI/SparseTransform.CLI.csproj -- <ARGS>

    <ARGS> are the commands and arguments to pass depending on the task you want to perform. For example to read a MatrixMarket string from a file, partition it and output the result as a colored DOT graph, use the following arguments:

    partition -f dot -i inFile -o outFile.

    Make sure you specify the SparseTransform.CLI project as the library project is not runnable by itself.

    How to Build the Program Into an Executable

    The instructions below assume that your working directory is at the project root

    Using the .NET SDK command dotnet you can choose between building for execution with an installed .NET framework or as a standalone executable.

    Using .NET Framework:

    dotnet publish ./src/SparseTransform.CLI/SparseTransform.CLI.csproj -r <RID> -o SparseTransform --self-contained false

    As a Standalone Executable:

    dotnet publish ./src/SparseTransform.CLI/SparseTransform.CLI.csproj -r <RID> -o SparseTransform

    <RID> specifies the Runtime-ID that you want to build for (e.g. win-x64 or linux-x64). For available options see the .NET RID Catalog.

    Both commands output to the SparseTransform directory at the project root. The output path can be changed as desired.

    The project can also be built using the Visual Studio interface. Right click on the SparseTransform.CLI project and select Publish. Then set the flags accordingly.

    How to Build the Documentation

    We currently use Doxygen to generate an HTML documentation as well as the LaTeX files needed to generate a PDF manual. Make sure you have a working installation of Doxygen installed.

    The instructions below assume that your working directory is in the /docs folder located in the project root.

    To build both documentations execute

    doxygen Doxyfile

    This will generate 2 folders: html and latex. The html folder contains the HTML source. You can open it by opening the file index.html in your browser.

    The latex folder contains LaTeX source to generate a PDF manual. You will need either Make or latexmk to ensure the right number of pdflatex runs.

    To compile the files into a single PDF document using Make execute

    make

    If you do not have Make installed use latexmk (Obtainable e.g. via the MiKTeX installer):

    latexmk refman

    The compiled PDF file is named refman.pdf and also stored in the latex folder.

    How to Run the NUnit Test Suite

    The instructions below assume that your working directory is at the project root

    This project uses NUnit for unit testing. The complete test suite can be run using the dotnet command

    dotnet test

    or the Visual Studio interface.