test_static_webgl_library.html 2.22 KB
Newer Older
1
<html>
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!--- Licensed to the Apache Software Foundation (ASF) under one -->
<!--- or more contributor license agreements.  See the NOTICE file -->
<!--- distributed with this work for additional information -->
<!--- regarding copyright ownership.  The ASF licenses this file -->
<!--- to you under the Apache License, Version 2.0 (the -->
<!--- "License"); you may not use this file except in compliance -->
<!--- with the License.  You may obtain a copy of the License at -->

<!---   http://www.apache.org/licenses/LICENSE-2.0 -->

<!--- Unless required by applicable law or agreed to in writing, -->
<!--- software distributed under the License is distributed on an -->
<!--- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -->
<!--- KIND, either express or implied.  See the License for the -->
<!--- specific language governing permissions and limitations -->
<!--- under the License. -->

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

<head>
  <meta charset="UTF-8">
  <title>TVM RPC Test Page</title>
</head>

<body>
  <h1>TVM Test Page</h1>
  <div id="log"></div>
  <canvas id="canvas"></canvas>
  <script>
    var Module = {};
    Module["canvas"] = document.getElementById("canvas");
  </script>
  <script src="identity_static.js"></script>
  <script src="tvm_runtime.js"></script>
  <script>
    var tvm = tvm_runtime.create(Module);
    tvm.logger = function (message) {
      console.log(message);
      var d = document.createElement("div");
      d.innerHTML = message;
      document.getElementById("log").appendChild(d);
    };

    function randomArray(length, max) {
      return Array.apply(null, Array(length)).map(function () {
        return Math.random() * max;
      });
    }

    setTimeout(function () {
      this.syslib = tvm.systemLib();
      this.identity = this.syslib.getFunction("identity");

      this.n = 16;
      this.a = randomArray(this.n, 1);
      this.ctx = tvm.context("opengl", 0);
      this.A = tvm.empty(this.n, "float32", ctx).copyFrom(this.a);
      this.B = tvm.empty(this.n, "float32", ctx);
      identity(this.A, this.B);

      this.a = this.A.asArray();
      this.b = this.B.asArray();
      for (var i = 0; i < n; ++i) {
        tvm.assert(this.a[i] == this.b[i]);
      }
      this.identity.release();
    }, 1000);

  </script>
</body>

</html>