GithubHelp home page GithubHelp logo

winnie10 / open-gpgpu-flexgrip- Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jerc007/open-gpgpu-flexgrip-

0.0 1.0 0.0 3.42 MB

FlexGripPlus: an open-source GPGPU model for reliability evaluation and simulation

VHDL 37.73% Tcl 0.87% Stata 61.40%

open-gpgpu-flexgrip-'s Introduction

Politecnico di Torino,
Department of Control and Computer Engineering (DAUIN)
Electronic CAD & Reliability Group (CAD Group)
2019

Author: Josie Esteban Rodriguez Condia
Name of the project: FlexGripPlus
Type: Open-source General Purpose Graphics Processing Unit (GPGPU)
Language: Fully described in VHDL
Target simulator or technology: The model can be ported into any version of ModelSim and Xcelium

Description:
The FlexGrip model is an open-source General Purpose Graphics Processing Unit (GPGPU) fully described in vhdl and implementing the microarchitecture of the G80 architecture of NVIDIA. The model was originally developed by the University of Massachusetts and released in 2010 targeting the implementation on Xilinx platforms. The current version is a debugged and extended version of the FlexGrip model, now called "FlexGripPlus" and fully supports 28 instructions in more than 64 formats. The improved version is fully compatible with the CUDA programming environment under SM_1.0 compatibility. 

For additional details regarding the internal description, please see the following documentation:

- J. E. R. Condia, B. Du, M. Sonza Reorda and L. Sterpone, "FlexGripPlus: An improved GPGPU model to support reliability analysis," Microelectronics Reliability 109, 113660, 2020


Please check the "Generic Design" folder, it contains the whole description of the GPGPU model. 
Follow the next steps if you want to perform an initial simulation of the model:
Steps to perform a simulation of the GPGPU model.

1) Enter in Generic Design/lib and launch the next command:"vsim -do gpu_compile.tcl", this will starts the operation of the GUI of modelsim and import of the required description files for simulating the model.

2) Continue the execution until reach the DONE state in the TB_State_machine signal. When reached it means that memory results of the operation were correctly storedduring simulation.

3) Analyze results or change target application for the simulation. (See steps for changing the application)

//**
In order to change the application, three elements must be considered in the GPGPU: The instruction memory, the data memory and the configuration memory.

The instruction memory is located in the folder Generic_Design/TB/TP/ and it is named as TP_instructions.vhd
The data memory is located in the folder Generic_Design/lib/ and named as global_mem.mif
The configuration memory is located in the folder Generic_Design/TB/ and named as pickbench.vhd

You need to replace the files in order to change the target application. In this version, the replacement of the application is performed by changing one, or all files which behaves as memory in the model.

The "TP_instructions.vhd" file includes the assembly isntructions (.SASS) which are supported by the FlexGrip-Plus model. It should be noted that conventional NVCC cuda compilers can be employed under the SM_1.0.

The "global_mem.mif" contains the data elements required by the aplication. If required, this memory must be generated considering the target application.

The "pickbench.vhd" file contains the configuration parameters required by the model. These are maintained as constants by the lack of a host to control them before a program kernel operation. Check the dedicated manual to select the values of each line in this file.

Once you change or move new files, you can repeat the launching process and check the simulation of the model.

Other documents of support:

- B. Du, J. E. R. Condia and M. Sonza Reorda, "An extended model to support detailed GPGPU reliability analysis," 14th International Conference on Design & Technology of Integrated Systems In Nanoscale Era (DTIS), Mykonos, Greece, 2019, pp. 1-6.

- B. Du, J. E. Rodriguez Condia, M. Sonza Reorda and L. Sterpone, "On the evaluation of SEU effects in GPGPUs," IEEE Latin American Test Symposium (LATS), Santiago, Chile, 2019, pp. 1-6.

- K. Andryc, M. Merchant and R. Tessier, "FlexGrip: A soft GPGPU for FPGAs," 2013 International Conference on Field-Programmable Technology (FPT), Kyoto, 2013, pp. 230-237.

- Andryc, K., Thomas, T., & Tessier, R. (2016). Soft GPGPUs for embedded FPGAs: An architectural evaluation. arXiv preprint arXiv:1606.06454.

Have fun!!!!



open-gpgpu-flexgrip-'s People

Contributors

jerc007 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.