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

wip

parent 15ed36d7
Branches
No related tags found
No related merge requests found
Pipeline #2740 passed
<html>
<body>
<script src=tf.min.js></script>
<script>
//
// tf4pi.html
// Neil Gershenfeld 11/18/18
// Ann Yuan 12/4/18
// TensorFlow.js pi calculation benchmark
// pi = 3.14159265358979323846
//
const points = 1e10;
const a = tf.scalar(0.5)
const b = tf.scalar(0.75)
const c = tf.scalar(0.25)
const indicesPerTexel = 1000;
const outputSize = points / indicesPerTexel;
const divMulIndexSubProgram = {
variableNames: ['X', 'Y', 'Z'],
outputShape: [outputSize],
userCode: `
float compute(float i) {
return 0.5 / ((i - 0.75) * (i - 0.25));
}
void main() {
float i = float(getOutputCoords());
float sum = 0.;
for(int index=0; index<${indicesPerTexel}; index++) {
sum += compute(float(i * ${indicesPerTexel}. + float(index)));
}
setOutput(sum);
}
`
}
function divMulIndexSub(x, y, z) {
return tf.ENV.backend.compileAndRun(divMulIndexSubProgram, [x, y, z]);
}
function f() {
const product = divMulIndexSub(b, c, a);
return tf.sum(product).dataSync();
}
// Warmup
f();
const tstart = performance.now() / 1000
const sum = f();
const tend = performance.now() / 1000
const mflops = outputSize * 5.0 * indicesPerTexel * 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