A High Intensity Focused Ultrasound Simulator implemented using NVIDIA's Compute Unified Device Architecture Author: Adam Pan 1. Building Runtime Requirements: - CUDA enabled graphics card (Compute 2.0) - NVIDIA developer drivers - CUDA Toolkit 3.0 - Boost C++ libraries - gnuplot 4.x (optional) - mencoder and ffmpeg (optional) Build Requirements: - gcc 4.0+ - Boost C++ headers To compile the program, use "make". The binary created will be located in "/bin/[platform]/release/" 2. Usage The program requires a configuration file to specify the simulation parameters. A few preconstructed configuration files can be found in "/confs/". Example: bubbles confs/Sample.txt The program outputs the results as plain-text tuples into "/rawdata/". I've also added some form of automation using shell scripts: plot_results.sh [x-dimensions, y-dimensions, x-pixels, y-pixels] plots data outputted by the program, and stores them in "/images/". executor.sh [ConfName] The script looks in the "/confs/" directory for a series of configuration files matching "ConfName_x.txt", where x is any integer. It then runs through all the configuration files, storing the results (as well as plots) in timestamped folders in "/results/". 3. Notes The program is threadsafe, and does not interfere with the operation of CPU bound applications. In addition, multiple instances of the program may be launched on the same graphics card, although this is not recommended. Boost Program Options Documentation: http://www.boost.org/doc/libs/1_40_0/doc/html/program_options.html TODO Multiple configuration files in one run. Sweeping variable ranges.