Skip to content

Performance Comparison #116

Description

@yomaytk

Environment

$ uname -a
Linux snail24 5.15.0-135-generic #146-Ubuntu SMP Sat Feb 15 17:06:22 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Benchmark

  1. Wasm converted by elfconv(4d3555d)
Average rolled and unrolled performance:

    Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
----------------------------------------------------
       1   0.00    nan%    nan%    nan%        inf
       2   0.00   0.00% 100.00%   0.00%  353274.711
       4   0.00 100.00%   0.00%   0.00%  707392.560
       8   0.00 100.00%   0.00%   0.00%  1412089.007
      16   0.00  33.31%  33.34%  33.35%  1414110.127
      32   0.01  59.99%  19.99%  20.02%  1413351.530
      64   0.01  70.01%  20.00%   9.99%  1256187.678
     128   0.02  85.01%   9.99%   5.00%  1190172.093
     256   0.04  90.00%   2.50%   7.50%  1222407.311
     512   0.08  87.18%   2.56%  10.26%  1292244.525
    1024   0.16  87.50%   5.62%   6.87%  1214117.907
    2048   0.32  89.13%   4.97%   5.90%  1194108.214
    4096   0.64  90.64%   4.37%   4.99%  1188219.330
    8192   1.05  89.54%   4.09%   6.37%  1469289.680
   16384   2.11  86.95%   6.07%   6.97%  1476045.394
   32768   4.19  86.79%   6.09%   7.12%  1488562.382
   65536   8.50  87.27%   5.56%   7.16%  1466871.847
  131072  16.86  86.74%   6.00%   7.26%  1480560.779
  1. ELF/aarch64 on Wasm with container2wasm
Array size: 100
Memory required:  79K.


LINPACK benchmark, Double precision.
Machine precision:  15 digits.
Array size 100 X 100.
Average rolled and unrolled performance:

    Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
----------------------------------------------------
       1   0.04  62.24%   8.41%  29.35%   7139.489
       2   0.03  78.23%  12.99%   8.78%  12592.065
       4   0.05  82.31%   8.13%   9.56%  17305.416
       8   0.09  78.92%   9.05%  12.03%  18823.112
      16   0.17  81.15%   9.15%   9.70%  18628.969
      32   0.32  81.84%   8.06%  10.10%  19770.356
      64   0.61  82.17%   7.75%  10.08%  20625.264
     128   1.20  82.91%   7.30%   9.80%  20879.982
     256   2.37  83.71%   7.02%   9.27%  21053.060
     512   4.74  84.02%   6.87%   9.11%  21002.397
    1024   9.36  84.35%   6.87%   8.77%  21178.223
    2048  18.49  84.23%   6.90%   8.87%  21473.161
  1. Wasm by Emscripten from source code (command is as follows)
elfconv/examples/benchmarks/linpack/$ emcc -O3 nostdin_linpack.c -o exe.js -sALLOW_MEMORY_GROWTH -sASYNCIFY -sEXPORT_ES6 -sENVIRONMENT=web --js-library ~/elfconv/xterm-pty/emscripten-pty.js
elfconv/examples/benchmarks/linpack/$ cp exe.wasm ../../browser
elfconv/examples/benchmarks/linpack/$ cp exe.js ../../browser
elfconv/examples/benchmarks/linpack/$ emrun --no_browser --port 8080 ../../browser/exe.html # can access to localhost:8080
Array size: 100
Memory required:  79K.

LINPACK benchmark, Double precision.
Machine precision:  15 digits.
Array size 100 X 100.
Average rolled and unrolled performance:

    Reps Time(s) DGEFA   DGESL  OVERHEAD    KFLOPS
----------------------------------------------------
       1   0.00  74.07%   7.41%  18.52%  1606060.606
       2   0.00  83.33%   8.33%   8.33%  1606060.606
       4   0.00  82.42%   5.49%  12.09%  1766666.667
       8   0.00  85.23%   3.98%  10.80%  1800424.628
      16   0.00  84.83%   4.49%  10.67%  1777777.778
      32   0.00  82.38%   6.99%  10.63%  1769431.403
      64   0.01  80.60%   5.32%  14.09%  1748904.357
     128   0.01  84.11%   5.11%  10.77%  1728187.492
     256   0.03  83.56%   5.23%  11.21%  1770123.940
     512   0.06  83.75%   5.32%  10.93%  1655441.679
    1024   0.13  83.31%   5.26%  11.43%  1632584.303
    2048   0.25  83.80%   5.23%  10.97%  1657375.385
    4096   0.50  83.82%   5.33%  10.85%  1609597.319
    8192   1.01  83.78%   5.35%  10.87%  1606265.596
   16384   2.08  83.60%   5.51%  10.89%  1564530.543
   32768   4.18  83.83%   5.29%  10.88%  1555394.049
   65536   8.39  83.85%   5.28%  10.87%  1548246.415
  131072  16.87  83.84%   5.31%  10.86%  1539738.189```

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions