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

wip

parent 1731b762
No related branches found
No related tags found
No related merge requests found
<html>
<body>
<script src=tf.min.js></script>
<script>
//
// tfpi.html
// Neil Gershenfeld 11/18/18
// Nikhil Thorat 11/20/18
// TensorFlow.js pi calculation benchmark
// pi = 3.14159265358979323846
//
const points = 1e7
const a = tf.scalar(0.5)
const b = tf.scalar(0.75)
const c = tf.scalar(0.25)
function f() {
const index = tf.range(1,points)
return tf.sum(tf.div(a,tf.mul(index.sub(b),index.sub(c)))).dataSync();
}
// Warmup
f();
const tstart = performance.now()/1000
const sum = f();
const tend = performance.now()/1000
const mflops = points*5.0*1e-6/(tend-tstart);
document.write('pi: '+sum.toString())
document.write('<br>')
document.write('time: '+(tend-tstart)+'s')
document.write('<br>')
document.write('estimated MFlops: '+mflops)
</script>
<html>
<body>
<script src=tf.min.js></script>
<script>
//
// tfpi.html
// Neil Gershenfeld 11/18/18
// Nikhil Thorat 11/20/18
// TensorFlow.js pi calculation benchmark
// pi = 3.14159265358979323846
//
const points = 1e7
const a = tf.scalar(0.5)
const b = tf.scalar(0.75)
const c = tf.scalar(0.25)
const indexSubProgram = {
variableNames: ['X'],
outputShape: [points],
userCode: `
void main() {
float x = getX();
int i = getOutputCoords();
float value = float(i) - x;
setOutput(value);
}
`
}
function indexSub(x) {
return tf.ENV.backend.compileAndRun(indexSubProgram, [x]);
}
function f(index) {
// const index = tf.range(1,points)
return tf.sum(tf.div(a,tf.mul(indexSub(b),indexSub(c)))).dataSync();
}
// Warmup
f()
const tstart = performance.now()/1000
//const sum = tf.range(1,points)
const sum = f()
//const sum = f();
const tend = performance.now()/1000
const mflops = points*5.0*1e-6/(tend-tstart);
document.write('pi: '+sum.toString())
document.write('<br>')
document.write('time: '+(tend-tstart)+'s')
document.write('<br>')
document.write('estimated MFlops: '+mflops)
</script>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment