This repository has been archived by the owner on Jul 24, 2020. It is now read-only.
MLton for scalable multicore architectures
kayceesrk/multiMLton
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
stop-the-world…
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
MultiMLton ---------- MultiMLton is a compiler and runtime environment that targets scalable multicore platforms. It is an extension of MLton, an open-source, whole-program, optimizing Standard ML compiler. It combines new language abstractions and associated compiler analyses for expressing and implementing various kinds of fine-grained parallelism (safe futures, speculation, transactions, etc.), along with a sophisticated runtime system tuned to efficiently handle large numbers of lightweight threads. http://multimlton.cs.purdue.edu INSTALL ------- Dependencies (1) MLton : For specific installation instructions, please refer to MLton installation. If you install MLton in your local directory, append the path to MLton’s lib and bin directory to the PATH environment variable. (2) GnuMP : MultiMLton has been tested with version 4.3.2 Build Type make in multiMLton/trunk. After a successful build, the newly built binaries are placed in multiMLton/trunk/build/bin/. Known Issues/Caveats (1) Build process consumes a lot of memory (> 4 GB) and hence it might take a long time to build on a memory constrained machine. (2) Regression test Weak.2 fails Notes MultiMLton has been tested on the X86_64 architecture running Linux with kernel version 2.6.18-164. Since MultiMLton uses C-Codegen in the backend, any system with GCC and POSIX threads should support MultiMLton. Please contact us if you have problems building or running MultiMLton. RUNNING ------- New @MLton parameters (1) number-processors <n> - number of processors to be used for running the program. Default is 1. (2) enable-timer <microsecs> - Timer interval in micro seconds. Timer is disabled by default. Examples Some simple examples are available in trunk/testing/pacml. Create a new environment variable called MULTIMLTON, that points to the multiMLton binary. For convenience, add export MULTIMLTON=<multiMLtonRoot>/trunk/build/bin/mlton to your .bashrc file. Here, <multiMLtonRoot> corresponds to the directory where multiMLton source can be found. A Makefile is provided for building the tests. A make without arguments builds all of the tests in the directory. Individual tests, say test1_parasite.sml, can be built by make test1_parasite-amd64 The program can be run by invoking ./test1_parasite-amd64 @MLton number-processors 1 enable-timer 20000 -- 100 ACML/Parasite Sources --------------------- The source files for ACML and Parasites can be found in trunk/basis-library/pacml. ------------------------------ MultiMLton group Department of Computer Science Purdue University chandras@purude.edu
About
MLton for scalable multicore architectures
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published