All Projects → pmodels → argobots

pmodels / argobots

Licence: other
Official Argobots Repository

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
M4
1887 projects
shell
77523 projects

Projects that are alternatives of or similar to argobots

libquo
Dynamic execution environments for coupled, thread-heterogeneous MPI+X applications
Stars: ✭ 21 (-70.42%)
Mutual labels:  hpc, threading
cuda memtest
Fork of CUDA GPU memtest 👓
Stars: ✭ 68 (-4.23%)
Mutual labels:  hpc
jupyterhub-deploy-hpc
Documented examples of Jupyterhub deployment in HPC settings
Stars: ✭ 30 (-57.75%)
Mutual labels:  hpc
conduit
Simplified Data Exchange for HPC Simulations
Stars: ✭ 114 (+60.56%)
Mutual labels:  hpc
libmsr
Wrapper library for model-specific registers. APIs cover RAPL, performance counters, clocks and turbo.
Stars: ✭ 47 (-33.8%)
Mutual labels:  hpc
MACSio
A Multi-purpose, Application-Centric, Scalable I/O Proxy Application
Stars: ✭ 28 (-60.56%)
Mutual labels:  hpc
hybridCentralSolvers
United collection of hybrid Central solvers - one-phase, two-phase and multicomponent versions
Stars: ✭ 42 (-40.85%)
Mutual labels:  hpc
ck-env
CK repository with components and automation actions to enable portable workflows across diverse platforms including Linux, Windows, MacOS and Android. It includes software detection plugins and meta packages (code, data sets, models, scripts, etc) with the possibility of multiple versions to co-exist in a user or system environment:
Stars: ✭ 67 (-5.63%)
Mutual labels:  hpc
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (+133.8%)
Mutual labels:  hpc
framework
The Arcane Framework for HPC codes
Stars: ✭ 15 (-78.87%)
Mutual labels:  hpc
future.batchtools
🚀 R package future.batchtools: A Future API for Parallel and Distributed Processing using batchtools
Stars: ✭ 77 (+8.45%)
Mutual labels:  hpc
dtype-next
A Clojure library designed to aid in the implementation of high performance algorithms and systems.
Stars: ✭ 193 (+171.83%)
Mutual labels:  hpc
blas-benchmarks
Timing results for BLAS (Basic Linear Algebra Subprograms) libraries in R
Stars: ✭ 24 (-66.2%)
Mutual labels:  hpc
allgebra
Base container for developing C++ and Fortran HPC applications
Stars: ✭ 14 (-80.28%)
Mutual labels:  hpc
psched
Priority-based Task Scheduling for Modern C++
Stars: ✭ 59 (-16.9%)
Mutual labels:  threading
xdmod
An open framework for collecting and analyzing HPC metrics.
Stars: ✭ 55 (-22.54%)
Mutual labels:  hpc
ESA
Easy SimAuto (ESA): An easy-to-use Power System Analysis Automation Environment atop PowerWorld Simulator Automation Server (SimAuto)
Stars: ✭ 26 (-63.38%)
Mutual labels:  hpc
polog
Логирование должно быть красивым
Stars: ✭ 26 (-63.38%)
Mutual labels:  threading
disrustor
A port of the LMAX Disruptor to Rust
Stars: ✭ 29 (-59.15%)
Mutual labels:  threading
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (-61.97%)
Mutual labels:  threading

Argobots

Argobots is a lightweight, low-level threading and tasking framework.

README.md should contain enough information to get you started with Argobots.

  1. Getting Started
  2. Testing Argobots
  3. Reporting Problems
  4. Alternate Configure Options
  5. Compiler Flags
  6. Developer Builds

1. Getting Started

The following instructions take you through a sequence of steps to get the default configuration of Argobots up and running. For compilation, Argobots needs a C compiler (gcc is sufficient).

Also, you need to know what shell you are using since different shell has different command syntax. Command echo $SHELL prints out the current shell used by your terminal program.

(a) Preparation

(a.1) If you downloaded a release tarball of Argobots, unpack the tar file and go to the top level directory:

    tar xzf argobots.tar.gz
    cd argobots

    ## If your `tar` doesn't accept the `z` option, use the following instead
    # gunzip argobots.tar.gz
    # tar xf argobots.tar
    # cd argobots

(a.2) If you cloned Argobots from the GitHub page, go to the top level directory and create configure:

    cd argobots
    ./autogen.sh

(b) Choose an installation directory

The installation directory should be non-existent or empty. The following assumes /home/USERNAME/argobots-install

(c) Configure Argobots specifying the installation directory

    ./configure --prefix=/home/USERNAME/argobots-install 2>&1 | tee c.txt

    ## If you are using csh or tcsh:
    # ./configure --prefix=/home/USERNAME/argobots-install |& tee c.txt

If a failure occurs, the configure command will display the error. Most errors are straight-forward to follow.

(d) Build Argobots:

    make 2>&1 | tee m.txt

    ## If you are using csh or tcsh:
    # make |& tee m.txt

This step should succeed if there were no problems with the preceding step. Check file m.txt. If there were problems, do a make clean and then run make again with V=1.

    make V=1 2>&1 | tee m.txt

    ## If you are using csh or tcsh:
    # make V=1 |& tee m.txt

If it does not work, go to step 3 below, for reporting the issue to the Argobots developers and other users.

(e) Install Argobots:

    make install 2>&1 | tee mi.txt

    ## If you are using csh or tcsh:
    # make install |& tee mi.txt

This step collects all required files in the bin subdirectory of the directory specified by the prefix argument to configure.

2. Testing Argobots

To test Argobots, we package the Argobots test suite in the Argobots distribution. You can run the test suite in the test directory using:

    make check

The distribution also includes some Argobots examples. You can run them in the examples directory using:

    make check

If you run into any problems on running the test suite or examples, please follow step 3 below for reporting them to the Argobots developers and other users.

3. Reporting Problems

If you have problems with the installation or usage of Argobots, please follow these steps:

(a) First visit the Frequently Asked Questions (FAQ) page at https://github.com/pmodels/argobots/wiki/FAQ to see if the problem you are facing has a simple solution.

(b) If you cannot find an answer on the FAQ page, look through previous email threads on the [email protected] mailing list archive (https://lists.argobots.org/mailman/listinfo/discuss). It is likely someone else had a similar problem, which has already been resolved before.

(c) If neither of the above steps work, please send an email to [email protected]. You need to subscribe to this list (https://lists.argobots.org/mailman/listinfo/discuss) before sending an email.

Your email should contain the following files. ONCE AGAIN, PLEASE COMPRESS BEFORE SENDING, AS THE FILES CAN BE LARGE. Note that, depending on which step the build failed, some of the files might not exist.

    argobots/c.txt      (generated in step 1(c) above)
    argobots/m.txt      (generated in step 1(d) above)
    argobots/mi.txt     (generated in step 1(e) above)
    argobots/config.log (generated in step 1(c) above)

Finally, please include the actual error you are seeing when running the application. If possible, please try to reproduce the error with a smaller application or benchmark and send that along in your bug report.

(d) If you have found a bug in Argobots, we request that you report it at our github issues page (https://github.com/pmodels/argobots/issues). Even if you believe you have found a bug, we recommend you sending an email to [email protected] first.

4. Alternate Configure Options

Argobots has a number of other features. If you are exploring Argobots as part of a development project, you might want to tweak the Argobots build with the following configure options. A complete list of configuration options can be found using:

    ./configure --help

5. Compiler Flags

By default, Argobots automatically adds certain compiler optimizations to CFLAGS. The currently used optimization level is -O2.

This optimization level can be changed with the --enable-fast option passed to configure. For example, to build Argobots with -O3, one can simply do:

    ./configure --enable-fast=O3

For more details of --enable-fast, see the output of ./configure --help.

For performance testing, we recommend the following flags:

    ./configure --enable-perf-opt --enable-affinity --disable-checks

For debugging, we recommend the following flags:

    ./configure --enable-fast=O0 --enable-debug=most

6. Developer Builds

For Argobots developers who want to directly work on the primary version control system, there are a few additional steps involved (people using the release tarballs do not have to follow these steps). Details about these steps can be found here: https://github.com/pmodels/argobots/wiki/Getting-and-Building

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].