Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision c9bb19c5906c44795fde065e4a9c6b1e92c04968 authored by EPiQC on 06 August 2017, 15:43:30 UTC, committed by EPiQC on 06 August 2017, 15:43:30 UTC
Merge branch 'master' of https://github.com/epiqc/ScaffCC
2 parent s 1cf967a + 4a8d616
  • Files
  • Changes
  • 7646bc9
  • /
  • scripts
  • /
  • README.txt
Raw File Download
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:c9bb19c5906c44795fde065e4a9c6b1e92c04968
directory badge Iframe embedding
swh:1:dir:a313b45a4cf92faebe6a38edab51017757880600
content badge Iframe embedding
swh:1:cnt:cb5985f2ab07a770f4c6bf6cc4086593adfffb25
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
README.txt
=================================================================
                Scaffold Compiler Working Group
              https://github.com/epiqc/ScaffCC

                    Scripts README Document
=================================================================

Contents:
=========
  example scripts to test some of ScaffCC's functionalities.
  please direct any questions/feedback to ajavadia@princeton.edu

Important Note:
===============
  The assumption in these scripts is that they are separated from the ScaffCC directory by only one directory level.
  Therefore let the scripts remain in ScaffCC/scripts

=================================================================


$ ./gen-ll.sh
-------------
Lowers .scaffold source file to .ll file (intermediary LLVM format). Creates <algorithm>.ll
The .ll file is the main file in LLVM on which all transformations, optimizations and analysis are performed.

NB: In general, to run a pass in LLVM, you invoke the opt program as follows:
    build/Release+Asserts/bin/opt -S -load build/Release+Asserts/lib/Scaffold.so <desired_pass_name> <input_ll_file> > <output_ll_file> 2> <log_file>
    (These scripts basically automate the above command for several passes)


$ ./gen-cp.sh
-------------
Finds critical path information for several different flattening thresholds by doing the following:
1- Finding module sizes using the ResourceCount2 pass.
2- Flattening modules based on the found module sizes and the requested threshold.
   flattening_thresh.py: divides modules into different buckets based on their size, to be used for flattening decision purposes.
3- Finds length of critical path, in terms of number of operations on it. Look for the number in front of "main" in the output. 


$ ./gen-scheds.sh 
-----------------
This is the wrapper script around all the different schedulers.
Generates communication-unaware Multi-SIMD schedules and commnication-aware LPFS, RCP and SS scheudles.
Options: 
  K=number of SIMD regions / D=capacity of each region
Calls the following scripts:
  
  $ ./regress.sh
  --------------
  Runs the 3 different communication-aware schedulers, LPFS, RCP, SS, with different scheduler configurations.
  Look in ./sched.pl for configuration options. For example using -m gives metrics only, while -s outputs entire schedule.

  $ ./sched.pl
  ------------
  The main scheduler code for LPFS and RCP.

  $ ./leaves.pl
  -------------
  Finds leaf (i.e. flat) modules.

  $ ./comm_aware.pl
  -----------------
  Applies the communication penalty to timesteps.

All output files are placed in a new directory to avoid cluttering.
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API

back to top