From CDOT Wiki
Revision as of 17:36, 3 December 2014 by Tqyu (talk | contribs) (Assignment 2 and 3)
Jump to: navigation, search

Calculations of Pi

Team Member

  1. Tony Yu


Assignment 1


The code used is taken from the following site http://www.cplusplus.com/forum/beginner/1149/ with some changes to the code.

This program will calculate pi to a precision based on the value entered by the user. Currently it displays to a precision of 9 decimal places.

Will attempt to figure out a way to calculate to as much decimal places as possible, which should drastically increase the time it takes to run the program. Currrent possible solution is to use the BigNumber library.


The code used is taken from the following site https://helloacm.com/cc-coding-exercise-finding-approximation-of-pi-using-monto-carlo-algorithm/ with some changes to it.

This program will calculate pi using the Monte Carlo approach to a precision based on the value entered by the user.

Value of 1 Million

Profile a1(million).JPG

Value of 10 Million

Profile a1(10 million).JPG

Value of 100 Million

Profile a1(100 million).JPG

Value of 1 Billion

Profile a1(billion).JPG

Assignment 2 and 3

I have combined the 2nd and 3rd part of the assignment together, since I had some issues with the kernel.

The following results compares the upgraded code with the original to show a significant increase in speed.


For some reason the code crashes my graphic driver past 8000000 (8 million) dots, and even at 8 million it crashes most of the time. The Nvidia Visual Profiler doesn't work either, it gets stuck on generating timeline, so I used clock_t in the code instead in order to calculate execution time of the kernel. Don't think this is 100% accurate though.

Value of 1 Million


Value of 5 Million


Value of 8 Million


Comparison Chart