Giter Club home page Giter Club logo

flexmem's Introduction

xmem

  ___    ___ _____ ______   _______   _____ ______      
 |\  \  /  /|\   _ \  _   \|\  ___ \ |\   _ \  _   \
 \ \  \/  / | \  \\\__\ \  \ \   __/|\ \  \\\__\ \  \
  \ \    / / \ \  \\|__| \  \ \  \_|/_\ \  \\|__| \  \
   /     \/   \ \  \    \ \  \ \  \_|\ \ \  \    \ \  \
  /  /\   \    \ \__\    \ \__\ \_______\ \__\    \ \__\
 /__/ /\ __\    \|__|     \|__|\|_______|\|__|     \|__|
 |__|/ \|__|                                            

xmem provides utilities to override the memory allocator, allowing users to create out-of-core data structures that may be much larger than available RAM

Description

Xmem is a general, transparent tool for out-of-core (OOC) computing. It is launched as a command line utility, taking an application as an argument. All memory allocations larger than a specified threshold are memory-mapped to a binary file. When data are not needed, they are stored on disk. It is both process- and thread-safe.

Requirements

xmem requires that some version of openmp is installed on the machine.

Installing xmem

The xmem package can be installed by navigating to the xmem/standalone/src directory using the following commands:

mike@mike-VirtualBox:~/Projects/xmem/standalone/src
> make all
mike@mike-VirtualBox:~/Projects/xmem/standalone/src
> sudo make install

Note that make install will put the executable into /usr/local/bin and the required shared object file inot /usr/local/lib.

Installing the R xmem package

After installing xmem the R xmem package can be installed by navigating to the xmem/Rpkg directory and using the following commands in a shell:

R CMD INSTALL xmem

The package documentation provides more information about how to use the R xmem package.

Using xmem

Start an application in xmem by specifying the application as an argument

mike@mike-VirtualBox:~/$ xmem R

The memory-mapped files are stored in /tmp by default. This parameter along with others can be interrogated using the Rxmem package, included in this project.

Support

  1. xmem is supported on Linux with OS X support on the way.
  2. The development home of this project can be found at: https://github.com/kaneplusplus/xmem
  3. Contributions are welcome.
  4. For more information contact Michael Kane at [email protected].

flexmem's People

Contributors

bwlewis avatar kaneplusplus avatar

Watchers

James Cloos avatar eric o avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.