Commit 7c95b688 authored by Neil Gershenfeld's avatar Neil Gershenfeld

add 3

parent ad3a74d7
Pipeline #2738 passed with stage
in 1 second
......@@ -3,7 +3,7 @@
<script src=tf.min.js></script>
<script>
//
// tfpi.html
// tf1pi.html
// Neil Gershenfeld 11/18/18
// Nikhil Thorat 11/20/18
// TensorFlow.js pi calculation benchmark
......
......@@ -3,7 +3,7 @@
<script src=tf.min.js></script>
<script>
//
// tfpi.html
// tf2pi.html
// Neil Gershenfeld 11/18/18
// Nikhil Thorat 11/20/18
// TensorFlow.js pi calculation benchmark
......
<html>
<body>
<script src=tf.min.js></script>
<script>
//
// tf3pi.html
// Neil Gershenfeld 11/18/18
// Ann Yuan 11/30/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 batchSize = 100;
const computeSum = [];
for(let i=1; i<batchSize; i++) {
computeSum.push(`compute(i * ${batchSize}. + ${i}.)`);
}
const divMulIndexSubProgram = {
variableNames: ['a', 'b', 'c'],
outputShape: [points / batchSize],
userCode: `
float compute(float i) {
return a / ((i - b) * (i - c));
}
void main() {
float i = float(getOutputCoords());
setOutput(${computeSum.join(' + ')});
}
`
}
function divMulIndexSub(x, y, z) {
return tf.ENV.backend.compileAndRun(divMulIndexSubProgram, [a, b, c]);
}
function f() {
return tf.sum(divMulIndexSub(b, c, a)).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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment