Skip to content
Snippets Groups Projects
Commit 7277cbd1 authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

wip

parent f5d40df2
No related branches found
No related tags found
No related merge requests found
Pipeline #2721 passed
...@@ -17,9 +17,9 @@ function serial_benchmark() { ...@@ -17,9 +17,9 @@ function serial_benchmark() {
var pi = 0 var pi = 0
var tstart = Date.now()/1000 var tstart = Date.now()/1000
for (var i = 1; i <= points; ++i) for (var i = 1; i <= points; ++i)
pi += a/((i-b)*(i-c)); pi += a/((i-b)*(i-c))
var tend = Date.now()/1000 var tend = Date.now()/1000
var mflops = points*5.0*1e-6/(tend-tstart); var mflops = points*5.0*1e-6/(tend-tstart)
document.getElementById('div_pi_serial').innerHTML = 'pi: '+pi document.getElementById('div_pi_serial').innerHTML = 'pi: '+pi
document.getElementById('div_time_serial').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s' document.getElementById('div_time_serial').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s'
document.getElementById('div_flop_serial').innerHTML = 'estimated MFlops: '+mflops.toFixed(1) document.getElementById('div_flop_serial').innerHTML = 'estimated MFlops: '+mflops.toFixed(1)
...@@ -34,7 +34,7 @@ function reduce_benchmark() { ...@@ -34,7 +34,7 @@ function reduce_benchmark() {
var array = new Float64Array(points) var array = new Float64Array(points)
var pi = array.reduce(function(sum,val,i,arr){return sum+a/(((i+1)-b)*((i+1)-c))},0) var pi = array.reduce(function(sum,val,i,arr){return sum+a/(((i+1)-b)*((i+1)-c))},0)
var tend = Date.now()/1000 var tend = Date.now()/1000
var mflops = points*5.0*1e-6/(tend-tstart); var mflops = points*5.0*1e-6/(tend-tstart)
document.getElementById('div_pi_reduce').innerHTML = 'pi: '+pi document.getElementById('div_pi_reduce').innerHTML = 'pi: '+pi
document.getElementById('div_time_reduce').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s' document.getElementById('div_time_reduce').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s'
document.getElementById('div_flop_reduce').innerHTML = 'estimated MFlops: '+mflops.toFixed(1) document.getElementById('div_flop_reduce').innerHTML = 'estimated MFlops: '+mflops.toFixed(1)
...@@ -56,7 +56,7 @@ function parallel_benchmark() { ...@@ -56,7 +56,7 @@ function parallel_benchmark() {
workers[evt.data.index].terminate() workers[evt.data.index].terminate()
if (results.length == threads) { if (results.length == threads) {
var tend = Date.now()/1000 var tend = Date.now()/1000
var mflops = (threads*points)*5.0*1e-6/(tend-tstart); var mflops = (threads*points)*5.0*1e-6/(tend-tstart)
var pi = results.reduce(function(x,y){return x+y},0) var pi = results.reduce(function(x,y){return x+y},0)
document.getElementById('div_pi_parallel').innerHTML = 'pi: '+pi document.getElementById('div_pi_parallel').innerHTML = 'pi: '+pi
document.getElementById('div_time_parallel').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s' document.getElementById('div_time_parallel').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s'
......
...@@ -25,7 +25,7 @@ function master() { ...@@ -25,7 +25,7 @@ function master() {
results += 1 results += 1
if (results == processes) { if (results == processes) {
var tend = Date.now()/1000 var tend = Date.now()/1000
var mflops = (processes*points)*5.0*1e-6/(tend-tstart); var mflops = (processes*points)*5.0*1e-6/(tend-tstart)
console.log('pi: '+pi) console.log('pi: '+pi)
console.log('time: '+(tend-tstart).toFixed(1)+'s') console.log('time: '+(tend-tstart).toFixed(1)+'s')
console.log('processes: '+processes) console.log('processes: '+processes)
......
//
// pi.js
// Neil Gershenfeld 11/24/18
// pi calculation benchmark
// pi = 3.14159265358979323846
//
var points = 1e8
var a = 0.5
var b = 0.75
var c = 0.25
var pi = 0
var tstart = Date.now()/1000
for (var i = 1; i <= points; ++i)
pi += a/((i-b)*(i-c))
var tend = Date.now()/1000
var mflops = points*5.0*1e-6/(tend-tstart)
console.log('pi: '+pi)
console.log('time: '+(tend-tstart).toFixed(1)+'s')
console.log('estimated MFlops: '+mflops.toFixed(1))
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
|9.371|[pi.c](C/pi.c)|C<br>gcc pi.c -o pi -lm -O3 -ffast-math|Intel i7-8700T|Nov 17, 2018| |9.371|[pi.c](C/pi.c)|C<br>gcc pi.c -o pi -lm -O3 -ffast-math|Intel i7-8700T|Nov 17, 2018|
|3.734|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel i7-8700T|Nov 17, 2018| |3.734|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel i7-8700T|Nov 17, 2018|
|3.472|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel 2x E5-2680|Nov 19, 2018| |3.472|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel 2x E5-2680|Nov 19, 2018|
|3.817|[pi.js](Node/pi.js)|Node|Intel 2x E5-2680|Nov 24, 2018|
|3.007|[clusterpi.js](Node/clusterpi.js)|Node, 12 processes|Intel 2x E5-2680|Nov 24, 2018| |3.007|[clusterpi.js](Node/clusterpi.js)|Node, 12 processes|Intel 2x E5-2680|Nov 24, 2018|
|0.573|[pi.c](C/pi.c)|C<br>gcc pi.c -o pi -lm|Intel i7-8700T|Nov 17, 2018| |0.573|[pi.c](C/pi.c)|C<br>gcc pi.c -o pi -lm|Intel i7-8700T|Nov 17, 2018|
|0.470|[numpi.py](Python/numpi.py)|Python, NumPy|Intel i7-8700T|Nov 17, 2018| |0.470|[numpi.py](Python/numpi.py)|Python, NumPy|Intel i7-8700T|Nov 17, 2018|
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment