Git Product home page Git Product logo

winnie10 / mosaic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cmu-safari/mosaic

0.0 1.0 0.0 46.47 MB

Source code of the simulator used in the Mosaic paper from MICRO 2017: "Mosaic: A GPU Memory Manager with Application-Transparent Support for Multiple Page Sizes" https://people.inf.ethz.ch/omutlu/pub/mosaic-application-transparent-multiple-page-sizes-for-GPUs_micro17.pdf

Makefile 1.69% Roff 0.18% Python 3.19% C++ 74.99% Lex 0.76% Yacc 0.83% C 7.37% CSS 0.22% Shell 0.03% TeX 0.60% Cuda 10.14%

mosaic's Introduction

Requirements:

  • NVIDIA CUDA SDK
  • CUDA 4.0
  • gcc 4.4 and g++ 4.8 -- Note that the Makefile in pthread_benchmark as well as NVIDIA CUDA SDK folder can potentially be updated to enforce gcc and g++ to use the same version. However, it is not supported at the moment. g++4.8 is needed for Mosaic main simulator as we have been using newer funcationalities of g++.

How to run Mosaic and MASK:

  1. Modify CUDAHOME and NVIDIA_CUDA_SDK_LOCATION in v3.x/setup_environment to the location where NVIDIA CUDA SDK and CUDA 4.0 are installed.

  2. Make the simulator by running make in the v3.x folder

  3. To make the benchmarks, copy over files in Mosaic's v3.x/pthread_benchmark folder to the original pthread_benchmark. Then, make in the pthread_benchmark folder. The updated pthread_benchmark allows unlimited number of concurrent applications

  4. run ./gpgpu_ptx_sim [benchmark name list] 4.1) [benchmark name list] should contain a list of benchmarks that will be run, seperate by space. For example, running ./gpgpu_ptx_sim HS HS CONS will run launch the simulation with three concurrently executing benchmarks, where there are two copies of HS (each with their own separate address space) and one copy of CONS across GPU SMs. Note that the current policy split the GPU cores evenly for each application.

Please send questions to [email protected]

The current version of the simulator is provided as is, and should be treated as an alpha version.

Please cite the following paper when using Mosaic simulator:

  • Rachata Ausavarungnirun, Joshua Landgraf, Vance Miller, Saugata Ghose, Jayneel Gandhi, Christopher J. Rossbach, and Onur Mutlu. "Mosaic: A GPU Memory Manager with Application-Transparent Support for Multiple Page Sizes". In the Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2017), Boston, MA, October 2017.

Please cite the following paper when running MASK:

  • Rachata Ausavarungnirun, Vance Miller, Joshua Landgraf, Saugata Ghose, Jayneel Gandhi, Adwait Jog, Christopher J. Rossbach, and Onur Mutlu, "MASK: Redesigning the GPU Memory Hierarchy to Support Multi-Application Concurrency". In the Proceedings of the 23rd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2018), Williamsburg, VA, March 2018.

Please credit the following paper when using the Mafia benchmark suite:

  • Adwait Jog, Onur Kayiran, Tuba Kesten, Ashutosh Pattnaik, Evgeny Bolotin, Niladrish Chatterjee, Stephen W. Keckler, Mahmut T. Kandemir, Chita R. Das. "Anatomy of GPU Memory System for Multi-Application Execution". In the Proceedings of 1st International Symposium on Memory Systems (MEMSYS), Washington, DC, Oct 2015

mosaic's People

Contributors

rausavar avatar

Watchers

 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.