![]() |
||
|
TRIPS Software and ToolsThe TRIPS software development environment consists of tools familiar to most programmers. Where possible, tools have been adapted from the open source community and ported to the TRIPS ISA and environment. Instructions for downloading the tools are at the following link: http://www.cs.utexas.edu/~trips/dist. The principal tools include the following. SimulatorsThe TRIPS toolchain includes several simulators at different levels of abstraction. These include the following:
CompilerThe TRIPS compiler is based on the SCALE research compiler developed by Kathryn McKinley's team at the University of Massachusetts. This compiler accepts C and Fortran programs and performs extensive scalar optimizations. The TRIPS specific optimizations generate large regions of atomically executable code (hyperblocks) using techniques such as loop unrolling, inlining, and predication. In addition, the back-end of the compiler includes a spatial instruction placer, which determines where each instruction will execute on the grid of execution units. Binary utilitiesTRIPS employs the ELF binary format which includes a simple port of binary tools such as nm, objdump, readelf, strip, and others. In addition, the TRIPS toolchain includes an assembler, linker, and loader. DebuggerThe toolchain includes a port of the gnu debugger (gdb) that works with TRIPS simulators and hardware. Performance analysisThe toolchain includes numerous custom performance analysis tools that help pinpoint bottlenecks and enable optimization of code. One novel tool analyzes the critical path of an executing program and determines which TRIPS hardware resources are the bottlenecks. The TRIPS system also includes hardware performance counters and software utilities to read and sample them. LibrariesThe TRIPS toolchain includes standard C and Fortran runtime libraries as well as parallel libraries for MPI and for a streaming virtual machine.
|
||