FTGPGPU - Hardware Fault Tolerance Analysis for General Purpose Graphics Processor Unit Applications
Configrations can be found in config.py
# Print extra information (optional)
verbose = False
"""
Injection Informations
"""
# Directory of Binary File
directory = "./Samples/SAXPY/"
# Binary file
executable = "saxpyG"
# Arguments, if not neccessary fill blank string ""
args = ""
# number of fault
num_fault = 10
# list of breakpoints
breakpoints = ["saxpy.cu:29 if i < 5"]
# Output Results destination of Execution ****Required for SDC check***
output = "Output.txt"
"""
Spesific Fault Injection
"""
# In case of fault with spesific block and thread "1, 0, 0", otherwise ""
# Coordinates are consequently x y z
block_idx = ""
thread_idx = ""
# In case of fault with spesific registers, EX register_id = "12"
register_id = ""
# maximum registers number
#max_register = 256
max_register = 64
# maximum bit number
max_bit = 32
"""
Others
"""
# Fault injection Results output file
output_csv = "Fault_injection_results.csv"
# maximum wait time
hang_factor = 20
To run application;
$ python3 Fault_injector.py
- Registers number must be filled manually default 256. It can be found in Profiler.py as active_registers
- Execution must give output result as a text file and it must be specified in config.py.
- SDC check script
- Add kill script in Hang Condition
- Find Maximum register number
- Try with different examples
- Make optimizations
- Convert program into 3-step Injector
- Add conditional Breakpoints
- Prepare Config File