Skip to content

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

Notifications You must be signed in to change notification settings

amamory-ursa/Open-GPGPU-FlexGrip-

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!!!!



About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Stata 61.4%
  • VHDL 37.7%
  • Tcl 0.9%