Changes

Jump to: navigation, search

GPU610/DPS915 CUDA PI

984 bytes added, 20:22, 4 November 2013
Conclusion
== '''Progress''' ==
 
 
 
=== '''Assignment 1''' ===
==== '''Introduction''' ====
// calculate pi
pi = 4.0 * (float)score/(float)points;
 
==== '''Software and Hardware''' ====
[[File:Pi_software_and_hardware_list.jpg|border]]
 
==== '''Program Execution Plan''' ====
Pi serial tests would be conducted with sample counts up to 1 billion. Between 100 million and 1 billion, a sample count of 134217728 is sampled as that is the maximum sample value allowed for the Nvidia 460 GTX without generating memory allocation errors.
==== '''Compilation and Running''' ====
==== '''Serial Results''' ====
[[File:Pi_serial_results.jpg|border]]
 
==== '''Conclusion''' ====
As the sample count increases, the execution time of the program also increases. The Big-O Classification for ''pi_serial'' is O(1).
 
 
=== '''Assignment 2''' ===
==== '''Code Snippet''' ====
Working Kernel Parallel CUDA Pi Calculation
__global__ void findPi(float *estimatedPi, curandState *states, unsigned int taskElements, float seed)
{
}
}
 
==== '''Software and Hardware''' ====
[[File:Pi_software_and_hardware_list.jpg|border]]
 
==== '''Program Execution Plan''' ====
Pi cuda tests would be conducted with sample counts starting at 100 thousand, with incremental multiplier of 10, to the maximum supported sample count of 134217728 (memory constraint on Nvidia 460 GTX). The blocks and threads values will be 128, 128 respectively throughout all the tests.
==== '''Compilation and Running''' ====
==== '''Serial VS CUDA''' ====
[[File:Pi_serial_vs_cuda_results.jpg|border]]
 
==== '''Conclusion''' ====
Using CUDA technology and parallelizing the serial code in the original code, there is an enormous increase in performance (lower execution time) to calculate , as high as '''1372%'''. In the next (final) phase, an attempt to investigate if shared memory, optimal memory allocation, minimizing said memory access time, and other optimization factors would provide a further increase (lower execution time) in performance for ''pi_cuda''.
=== '''Assignment 3''' ===

Navigation menu