Open Access. Powered by Scholars. Published by Universities.®

Systems Architecture Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 3 of 3

Full-Text Articles in Systems Architecture

Compiler Optimization Effects On Register Collisions, Jonathan S. Tan Jun 2018

Compiler Optimization Effects On Register Collisions, Jonathan S. Tan

Master's Theses

We often want a compiler to generate executable code that runs as fast as possible. One consideration toward this goal is to keep values in fast registers to limit the number of slower memory accesses that occur. When there are not enough physical registers available for use, values are ``spilled'' to the runtime stack. The need for spills is discovered during register allocation wherein values in use are mapped to physical registers. One factor in the efficacy of register allocation is the number of values in use at one time (register collisions). Register collision is affected by compiler optimizations that …


Senior Project Report - Doctest, Stephen Weessies Mar 2013

Senior Project Report - Doctest, Stephen Weessies

Computer Engineering

DocTest is a program that, simply put, allows a programmer or user to document STANAG 4586 (a standard for unmanned aerial vehicle interoperability) messages and test the vehicle system at Lockheed Martin [5]. The program is extensible to allow for further development aiding our software team to do what they do best and not get bogged down in tedious but necessary documentation. DocTest is also used to aid in testing, keeping track of the issues and bugs found and creating a document that captures each issue so an issue is not missed or forgotten. This program was made for use …


Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker Jun 2012

Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker

Master's Theses

Massively parallel programming is an increasingly growing field with the recent introduction of general purpose GPU computing. Modern graphics processors from NVIDIA and AMD have massively parallel architectures that can be used for such applications as 3D rendering, financial analysis, physics simulations, and biomedical analysis. These massively parallel systems are exposed to programmers through in- terfaces such as NVIDIAs CUDA, OpenCL, and Microsofts C++ AMP. These frame- works expose functionality using primarily either C or C++. In order to use these massively parallel frameworks, programs being implemented must be run on machines equipped with massively parallel hardware. These requirements limit …