SPRNG

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
Line 51: Line 51:
== HP-SEE Applications ==
== HP-SEE Applications ==
* [http://wiki.hp-see.eu/index.php/NUQG NUQG] Numerical study of ultra-cold quantum gases
* [http://wiki.hp-see.eu/index.php/NUQG NUQG] Numerical study of ultra-cold quantum gases
-
 
+
* [http://wiki.hp-see.eu/index.php/SET SET]Simulation of electron transport
 +
* [http://wiki.hp-see.eu/index.php/GIM GIM] Geophysical Inversion Modeling
== Resource Centers ==
== Resource Centers ==
*[http://hpseewiki.ipb.ac.rs/index.php/Resource_centre_PARADOX Resource centre PARADOX]
*[http://hpseewiki.ipb.ac.rs/index.php/Resource_centre_PARADOX Resource centre PARADOX]

Revision as of 12:41, 4 July 2011

Contents


Authors/Maintainers

SPRNG is a project of the Department of Computer Science and the School of Computational Science at Florida State University. For technical assistance in installing or using SPRNG, users should send email to sprng@cs.fsu.edu.

Summary

Pseudorandom number generation algorithms are key components in many of modern scientific computing applications and the quality of the obtained research results may depend on their characteristics. The random number generating algorithms should be of sufficient quality, so as to allow research to be focused on the scientific problem itself, and not to require detailed study of the behaviour of the generator. SPRNG (Scalable Parallel Random Number Generators) is one of the best libraries for generating pseudorandom numbers for parallel applications. It provides user-friendly interfaces for parallel C/C++ and Fortran applications, which enable the user to easily obtain multiple and sufficiently uncorrelated pseudorandom number streams on different processors, with no inter-process communication. The algorithms implemented in SPRNG are: Combined Multiple Recursive Generator, the 48 bit Linear Congruential Generator, the 64 bit Linear Congruential Generator, the modified Lagged Fibonacci Generator, the multiplicative Lagged Fibbonacci Generator, and the Prime Modulus Linear Congruential Generator.

Features

  • SPRNG Generators:
    • Combined Multiple Recursive Generator
    • 48 bit Linear Congruential Generator
    • 64 bit Linear Congruential Generator
    • Modified Lagged Fibonacci Generator
    • Multiplicative Lagged Fibbonacci Generator
    • Prime Modulus Linear Congruential Generator
  • Different interfaces provided for C/C++ and Fortran.
  • A test suite with statistical tests and tests based on physical models (ex ISING model) is provided.
  • SPRNG is easy to extend, and new parallel generators can easily be developed to support SPRNG features.

Architectural/Functional Overview

  • high level design info, how it works, performance - may be a link, or several links

Usage Overview

Dependencies

  • list of all relevant dependencies on other libraries

HP-SEE Applications

  • NUQG Numerical study of ultra-cold quantum gases
  • SETSimulation of electron transport
  • GIM Geophysical Inversion Modeling

Resource Centers

Usage by Other Projects and Communities

  • If any

Recommendations for Configuration and Usage

Please describe here any common settings, configurations or conventions that would make the usage of this resource (library or tool) more interoperable or scalable across the HP-SEE resources. These recommendations should include anything that is related to the resource and is agreed upon by administrators and users, or across sites and applications. These recommendations should emerge from questions or discussions opened by site administrators or application developers, at any stage, including installation, development, usage, or adaptation for another HPC centre.

Provided descriptions should describe general or site specific aspects of resource installation, configuration and usage, or describe the guidelines or convention for deploying or using the resource within the local (user/site) or temporary environment (job). Examples are:

  • Common configuration settings of execution environment
  • Filesystem path or local access string
  • Environment variables to be set or used by applications
  • Options (e.g. additional modules) that are needed or required by applications and should be present
  • Minimum quantitative values (e.g. quotas) offered by the site
  • Location and format of some configuration or usage hint instructing applications on proper use of the resource or site specific policy
  • Key installation or configuration settings that should be set to a common value, or locally tweaked by local site admins
  • Conventions for application or job bound installation and usage of the resource
Personal tools