futhark-benchmarks

Various Futhark benchmark programs

https://github.com/diku-dk/futhark-benchmarks

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
    Organization diku-dk has institutional domain (diku.dk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary

Keywords from Contributors

boom futhark gpgpu opencl
Last synced: 7 months ago · JSON representation ·

Repository

Various Futhark benchmark programs

Basic Info
  • Host: GitHub
  • Owner: diku-dk
  • License: other
  • Language: Futhark
  • Default Branch: master
  • Homepage:
  • Size: 19.9 MB
Statistics
  • Stars: 42
  • Watchers: 19
  • Forks: 7
  • Open Issues: 24
  • Releases: 0
Created almost 12 years ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

futhark-benchmarks

Futhark implementations of various benchmarks. The intention is that these implementations are of existing published benchmarks, and thus show where we do well or poorly. We highly encourage everyone to make use of it when evaluating Futhark performance. The following contains instructions on how to do that.

Running benchmarks

Some of the benchmarks depend on large datasets that are managed with the get-data.sh tool. To retrieve them, run ./get-data.sh external-data.txt.

The recommended method for running all benchmarks is

futhark bench * --backend=opencl --ignore-files /lib/

This uses the opencl backend, and ignores the test suites of any embedded libraries (which are usually too small to be useful benchmarks, and would merely be noise). You can replace opencl with another backend. While the c backend is likely too slow to be practical for many of the benchmarks, the cuda backend should perform fine.

You can also add --ignore-files /micro/ to ignore the microbenchmarks of single language constructs, which are often not very interesting, but do take a long time to run.

If necessary, you can use --pass-option to pass more options to the generated Futhark programs. This may be necessary if you are using the OpenCL backend on a system with more than one OpenCL device, and you wish to use another device than the default. For example, to ask Futhark to use the first device that contains "NVIDIA" in its name, you could use --pass-option=-dNVIDIA.

If you wish to analyse the performance results with a program, passing --json=results.json to futhark bench may be useful.

For more information, see the documentation for futhark bench.

Internal details

Many of the input/output files are stored in a simple binary format for performance and space reasons. This format is documented in the Futhark reference manual, and can be converted to a textual representation via the futhark dataset tool.

Working with large datasets

Some of the larger datasets are not stored directly in the Git repository. Instead they are stored on a separate server and fetched using the self-contained get-data.sh script.

  • To add a dataset: First place the dataset on a publicly accessible webserver. We use ERDA, which is run by UCPH. Then add a line to the external-data.txt file of the format:

OUTPUT URL SHA256

where OUTPUT is local path, URL is the shared link from ERDA and SHA256 is the sha256 checksum of the file.

For instance, the line

external-data/accelerate/canny/data/lena256.in https://sid.erda.dk/share_redirect/FlhwY8rtfk/accelerate/canny/lena256.in 8c63faf15d9f8028826ed7d9a1647917a833092c1bd291f017b6618584124707

Specifies where lena256.in should be placed, where it can be downloaded from, and what the checksum is.

We recommend storing large datasets in the external-data directory which is ignored by our .gitignore, and then adding symlinks to the actual place you want to use the data. For example:

ln -s -r external-data/accelerate/canny/data/lena256.in accelerate/canny/data/lena256.in git add accelerate/canny/data/lena256.in

There is a script add-data.sh that does some of this automatically. Read it before running it.

Remember to commit your changes.

Tags

Some datasets require more memory than is commonly available. These are tagged as appropriate so they can be disabled with --exclude. The following tags are currently used:

  • mem_16gb

Owner

  • Name: DIKU
  • Login: diku-dk
  • Kind: organization
  • Location: Copenhagen, Denmark

Department of Computer Science at the University of Copenhagen

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- given-names: "The Futhark Hackers"
title: "futhark-benchmarks"
url: "https://github.com/diku-dk/futhark-benchmarks"

GitHub Events

Total
  • Watch event: 2
  • Push event: 19
Last Year
  • Watch event: 2
  • Push event: 19

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 1,352
  • Total Committers: 11
  • Avg Commits per committer: 122.909
  • Development Distribution Score (DDS): 0.26
Past Year
  • Commits: 30
  • Committers: 2
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.133
Top Committers
Name Email Commits
Troels Henriksen a****s@s****k 1,000
Cosmin Oancea c****6@y****m 145
Niels G. W. Serup n****s@m****e 128
Magic fTail r****2@g****m 41
Philip Munksgaard p****p@m****e 29
Mikkel Storgaard Knudsen m****d@g****m 3
Philip Børgesen p****n@g****m 2
René Løwe Jacobsen r****j@r****t 1
Martin Elsman m****n@g****m 1
Mikkel Storgaard Knudsen m****d@e****m 1
LH 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 51
  • Total pull requests: 28
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 2 months
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 1.2
  • Average comments per pull request: 1.93
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • athas (25)
  • Munksgaard (4)
  • mrakgr (2)
  • mratsim (2)
  • flip111 (1)
  • philass (1)
  • MagicfTail (1)
  • LaurentPlagne (1)
  • UnixJunkie (1)
Pull Request Authors
  • Munksgaard (14)
  • MagicfTail (4)
  • athas (2)
  • rloewe (1)
  • melsman (1)
  • PhilipBorgesen (1)
  • hrdl-github (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • diku-dk/install-futhark v1.1.0 composite