diff --git a/README.md b/README.md index fa374fe..c960e16 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@ # BLAS libraries benchmarks Andrzej Wójtowicz -[![DOI](https://zenodo.org/badge/22705/andre-wojtowicz/blas-benchmarks.svg)](https://dx.doi.org/10.5281/zenodo.55662) +Document generation date: 2016-07-14 17:20:41 -Document generation date: 2016-06-06 22:40:18 +This document presents timing results for BLAS ([Basic Linear Algebra Subprograms](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms)) libraries in [R](https://en.wikipedia.org/wiki/R_(programming_language)) on diverse CPUs and GPUs. + +### Changelog + + * 2016-07-14: **results:** added Intel Core i5-6500; changed results view of gcbd benchmark to relative performance gain; changed reference CPU (Intel Pentium Dual-Core E5300) and GPU (NVIDIA GeForce GT 630M); **code:** fixed target architecture detection for Intel Core i5-6500-like CPUs in multi-threaded Atlas library; added info how to force target architecture in GotoBLAS2 and BLIS libraries. @@ -14,6 +18,7 @@ Document generation date: 2016-06-06 22:40:18 * [Intel Core i7-4790K + MSI GeForce GTX 980 Ti Lightning](#intel-core-i7-4790k--msi-geforce-gtx-980-ti-lightning) * [Intel Core i5-4590 + NVIDIA GeForce GT 430](#intel-core-i5-4590--nvidia-geforce-gt-430) * [Intel Core i5-4590 + NVIDIA GeForce GTX 750 Ti](#intel-core-i5-4590--nvidia-geforce-gtx-750-ti) + * [Intel Core i5-6500](#intel-core-i5-6500) * [Intel Core i5-3570](#intel-core-i5-3570) * [Intel Core i3-2120](#intel-core-i3-2120) * [Intel Core i3-3120M](#intel-core-i3-3120m) @@ -33,7 +38,7 @@ Document generation date: 2016-06-06 22:40:18 ## Configuration -**OS**: Debian Jessie, kernel 4.4 +**OS**: [Debian](https://www.debian.org/) Jessie, kernel 4.4 **R software**: [Microsoft R Open](https://mran.microsoft.com/open/) (3.2.4) @@ -54,11 +59,12 @@ Document generation date: 2016-06-06 22:40:18 |1.|[Intel Core i7-4790K](http://ark.intel.com/products/80807/Intel-Core-i7-4790K-Processor-8M-Cache-up-to-4_40-GHz) (OC 4.5 GHz)|[MSI GeForce GTX 980 Ti Lightning](https://us.msi.com/Graphics-card/GTX-980-Ti-LIGHTNING.html#hero-specification)| |2.|[Intel Core i5-4590](http://ark.intel.com/products/80815/Intel-Core-i5-4590-Processor-6M-Cache-up-to-3_70-GHz)|[NVIDIA GeForce GT 430](http://www.geforce.com/hardware/desktop-gpus/geforce-gt-430/specifications)| |3.|[Intel Core i5-4590](http://ark.intel.com/products/80815/Intel-Core-i5-4590-Processor-6M-Cache-up-to-3_70-GHz)|[NVIDIA GeForce GTX 750 Ti](http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-750-ti/specifications)| -|4.|[Intel Core i5-3570](http://ark.intel.com/products/65702/Intel-Core-i5-3570-Processor-6M-Cache-up-to-3_80-GHz)| - | -|5.|[Intel Core i3-2120](http://ark.intel.com/products/53426/Intel-Core-i3-2120-Processor-3M-Cache-3_30-GHz)| - | -|6.|[Intel Core i3-3120M](http://ark.intel.com/products/71465/Intel-Core-i3-3120M-Processor-3M-Cache-2_50-GHz)| - | -|7.|[Intel Core i5-3317U](http://ark.intel.com/products/65707/Intel-Core-i5-3317U-Processor-3M-Cache-up-to-2_60-GHz)|[NVIDIA GeForce GT 630M](http://www.geforce.com/hardware/notebook-gpus/geforce-gt-630m/specifications)| -|8.|[Intel Pentium Dual-Core E5300](http://ark.intel.com/products/35300/Intel-Pentium-Processor-E5300-2M-Cache-2_60-GHz-800-MHz-FSB)| - | +|4.|[Intel Core i5-6500](http://ark.intel.com/products/88184/Intel-Core-i5-6500-Processor-6M-Cache-up-to-3_60-GHz)| - | +|5.|[Intel Core i5-3570](http://ark.intel.com/products/65702/Intel-Core-i5-3570-Processor-6M-Cache-up-to-3_80-GHz)| - | +|6.|[Intel Core i3-2120](http://ark.intel.com/products/53426/Intel-Core-i3-2120-Processor-3M-Cache-3_30-GHz)| - | +|7.|[Intel Core i3-3120M](http://ark.intel.com/products/71465/Intel-Core-i3-3120M-Processor-3M-Cache-2_50-GHz)| - | +|8.|[Intel Core i5-3317U](http://ark.intel.com/products/65707/Intel-Core-i5-3317U-Processor-3M-Cache-up-to-2_60-GHz)|[NVIDIA GeForce GT 630M](http://www.geforce.com/hardware/notebook-gpus/geforce-gt-630m/specifications)| +|9.|[Intel Pentium Dual-Core E5300](http://ark.intel.com/products/35300/Intel-Pentium-Processor-E5300-2M-Cache-2_60-GHz-800-MHz-FSB)| - | **Benchmarks**: [R-benchmark-25](http://r.research.att.com/benchmarks/R-benchmark-25.R), [Revolution](https://gist.github.com/andrie/24c9672f1ea39af89c66#file-rro-mkl-benchmark-r), [Gcbd](https://cran.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf). @@ -76,7 +82,7 @@ Document generation date: 2016-06-06 22:40:18 #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t1.png) @@ -84,7 +90,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t2.png) @@ -92,7 +98,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t3.png) @@ -100,7 +106,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t4.png) @@ -108,7 +114,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t5.png) @@ -116,7 +122,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t6.png) @@ -124,7 +130,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b1_t7.png) @@ -134,7 +140,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b2_t1.png) @@ -142,7 +148,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b2_t2.png) @@ -150,7 +156,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b2_t3.png) @@ -158,7 +164,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b2_t4.png) @@ -166,7 +172,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h1_b2_t5.png) @@ -176,33 +182,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h1_b3_t1.png)![](gen/img/img_ph_h1_b3_t1b.png) +![](gen/img/img_ph_h1_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h1_b3_t2.png)![](gen/img/img_ph_h1_b3_t2b.png) +![](gen/img/img_ph_h1_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h1_b3_t3.png)![](gen/img/img_ph_h1_b3_t3b.png) +![](gen/img/img_ph_h1_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h1_b3_t4.png)![](gen/img/img_ph_h1_b3_t4b.png) +![](gen/img/img_ph_h1_b3_t4.png) @@ -214,7 +220,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t1.png) @@ -222,7 +228,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t2.png) @@ -230,7 +236,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t3.png) @@ -238,7 +244,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t4.png) @@ -246,7 +252,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t5.png) @@ -254,7 +260,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t6.png) @@ -262,7 +268,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b1_t7.png) @@ -272,7 +278,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b2_t1.png) @@ -280,7 +286,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b2_t2.png) @@ -288,7 +294,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b2_t3.png) @@ -296,7 +302,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b2_t4.png) @@ -304,7 +310,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h2_b2_t5.png) @@ -314,33 +320,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h2_b3_t1.png)![](gen/img/img_ph_h2_b3_t1b.png) +![](gen/img/img_ph_h2_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h2_b3_t2.png)![](gen/img/img_ph_h2_b3_t2b.png) +![](gen/img/img_ph_h2_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h2_b3_t3.png)![](gen/img/img_ph_h2_b3_t3b.png) +![](gen/img/img_ph_h2_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h2_b3_t4.png)![](gen/img/img_ph_h2_b3_t4b.png) +![](gen/img/img_ph_h2_b3_t4.png) @@ -352,7 +358,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t1.png) @@ -360,7 +366,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t2.png) @@ -368,7 +374,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t3.png) @@ -376,7 +382,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t4.png) @@ -384,7 +390,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t5.png) @@ -392,7 +398,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t6.png) @@ -400,7 +406,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b1_t7.png) @@ -410,7 +416,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b2_t1.png) @@ -418,7 +424,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b2_t2.png) @@ -426,7 +432,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b2_t3.png) @@ -434,7 +440,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b2_t4.png) @@ -442,7 +448,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_ph_h3_b2_t5.png) @@ -452,33 +458,171 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h3_b3_t1.png)![](gen/img/img_ph_h3_b3_t1b.png) +![](gen/img/img_ph_h3_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h3_b3_t2.png)![](gen/img/img_ph_h3_b3_t2b.png) +![](gen/img/img_ph_h3_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h3_b3_t3.png)![](gen/img/img_ph_h3_b3_t3b.png) +![](gen/img/img_ph_h3_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h3_b3_t4.png)![](gen/img/img_ph_h3_b3_t4b.png) +![](gen/img/img_ph_h3_b3_t4.png) + + + +## Intel Core i5-6500 + + + +### R-benchmark-25 + +#### 2800x2800 cross-product matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t1.png) + + + +#### Linear regr. over a 2000x2000 matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t2.png) + + + +#### Eigenvalues of a 600x600 random matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t3.png) + + + +#### Determinant of a 2500x2500 random matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t4.png) + + + +#### Cholesky decomposition of a 3000x3000 matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t5.png) + + + +#### Inverse of a 1600x1600 random matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t6.png) + + + +#### Escoufier's method on a 45x45 matrix + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b1_t7.png) + + + +### Revolution benchmark + +#### Matrix Multiply + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b2_t1.png) + + + +#### Cholesky Factorization + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b2_t2.png) + + + +#### Singular Value Deomposition + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b2_t3.png) + + + +#### Principal Components Analysis + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b2_t4.png) + + + +#### Linear Discriminant Analysis + +Time in seconds - 10 runs - lower is better + +![](gen/img/img_ph_h4_b2_t5.png) + + + +### Gcbd benchmark + +#### Matrix Multiply + +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better + +![](gen/img/img_ph_h4_b3_t1.png) + + + +#### QR Decomposition + +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better + +![](gen/img/img_ph_h4_b3_t2.png) + + + +#### Singular Value Deomposition + +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better + +![](gen/img/img_ph_h4_b3_t3.png) + + + +#### Triangular Decomposition + +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better + +![](gen/img/img_ph_h4_b3_t4.png) @@ -490,57 +634,57 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t1.png) +![](gen/img/img_ph_h5_b1_t1.png) #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t2.png) +![](gen/img/img_ph_h5_b1_t2.png) #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t3.png) +![](gen/img/img_ph_h5_b1_t3.png) #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t4.png) +![](gen/img/img_ph_h5_b1_t4.png) #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t5.png) +![](gen/img/img_ph_h5_b1_t5.png) #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t6.png) +![](gen/img/img_ph_h5_b1_t6.png) #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b1_t7.png) +![](gen/img/img_ph_h5_b1_t7.png) @@ -548,41 +692,41 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b2_t1.png) +![](gen/img/img_ph_h5_b2_t1.png) #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b2_t2.png) +![](gen/img/img_ph_h5_b2_t2.png) #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b2_t3.png) +![](gen/img/img_ph_h5_b2_t3.png) #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b2_t4.png) +![](gen/img/img_ph_h5_b2_t4.png) #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h4_b2_t5.png) +![](gen/img/img_ph_h5_b2_t5.png) @@ -590,33 +734,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h4_b3_t1.png)![](gen/img/img_ph_h4_b3_t1b.png) +![](gen/img/img_ph_h5_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h4_b3_t2.png)![](gen/img/img_ph_h4_b3_t2b.png) +![](gen/img/img_ph_h5_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h4_b3_t3.png)![](gen/img/img_ph_h4_b3_t3b.png) +![](gen/img/img_ph_h5_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h4_b3_t4.png)![](gen/img/img_ph_h4_b3_t4b.png) +![](gen/img/img_ph_h5_b3_t4.png) @@ -628,57 +772,57 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t1.png) +![](gen/img/img_ph_h6_b1_t1.png) #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t2.png) +![](gen/img/img_ph_h6_b1_t2.png) #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t3.png) +![](gen/img/img_ph_h6_b1_t3.png) #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t4.png) +![](gen/img/img_ph_h6_b1_t4.png) #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t5.png) +![](gen/img/img_ph_h6_b1_t5.png) #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t6.png) +![](gen/img/img_ph_h6_b1_t6.png) #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b1_t7.png) +![](gen/img/img_ph_h6_b1_t7.png) @@ -686,41 +830,41 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b2_t1.png) +![](gen/img/img_ph_h6_b2_t1.png) #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b2_t2.png) +![](gen/img/img_ph_h6_b2_t2.png) #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b2_t3.png) +![](gen/img/img_ph_h6_b2_t3.png) #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b2_t4.png) +![](gen/img/img_ph_h6_b2_t4.png) #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h5_b2_t5.png) +![](gen/img/img_ph_h6_b2_t5.png) @@ -728,33 +872,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h5_b3_t1.png)![](gen/img/img_ph_h5_b3_t1b.png) +![](gen/img/img_ph_h6_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h5_b3_t2.png)![](gen/img/img_ph_h5_b3_t2b.png) +![](gen/img/img_ph_h6_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h5_b3_t3.png)![](gen/img/img_ph_h5_b3_t3b.png) +![](gen/img/img_ph_h6_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h5_b3_t4.png)![](gen/img/img_ph_h5_b3_t4b.png) +![](gen/img/img_ph_h6_b3_t4.png) @@ -766,57 +910,57 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t1.png) +![](gen/img/img_ph_h7_b1_t1.png) #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t2.png) +![](gen/img/img_ph_h7_b1_t2.png) #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t3.png) +![](gen/img/img_ph_h7_b1_t3.png) #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t4.png) +![](gen/img/img_ph_h7_b1_t4.png) #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t5.png) +![](gen/img/img_ph_h7_b1_t5.png) #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t6.png) +![](gen/img/img_ph_h7_b1_t6.png) #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b1_t7.png) +![](gen/img/img_ph_h7_b1_t7.png) @@ -824,41 +968,41 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b2_t1.png) +![](gen/img/img_ph_h7_b2_t1.png) #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b2_t2.png) +![](gen/img/img_ph_h7_b2_t2.png) #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b2_t3.png) +![](gen/img/img_ph_h7_b2_t3.png) #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b2_t4.png) +![](gen/img/img_ph_h7_b2_t4.png) #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h6_b2_t5.png) +![](gen/img/img_ph_h7_b2_t5.png) @@ -866,33 +1010,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h6_b3_t1.png)![](gen/img/img_ph_h6_b3_t1b.png) +![](gen/img/img_ph_h7_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h6_b3_t2.png)![](gen/img/img_ph_h6_b3_t2b.png) +![](gen/img/img_ph_h7_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h6_b3_t3.png)![](gen/img/img_ph_h6_b3_t3b.png) +![](gen/img/img_ph_h7_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h6_b3_t4.png)![](gen/img/img_ph_h6_b3_t4b.png) +![](gen/img/img_ph_h7_b3_t4.png) @@ -904,57 +1048,57 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t1.png) +![](gen/img/img_ph_h8_b1_t1.png) #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t2.png) +![](gen/img/img_ph_h8_b1_t2.png) #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t3.png) +![](gen/img/img_ph_h8_b1_t3.png) #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t4.png) +![](gen/img/img_ph_h8_b1_t4.png) #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t5.png) +![](gen/img/img_ph_h8_b1_t5.png) #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t6.png) +![](gen/img/img_ph_h8_b1_t6.png) #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b1_t7.png) +![](gen/img/img_ph_h8_b1_t7.png) @@ -962,41 +1106,41 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b2_t1.png) +![](gen/img/img_ph_h8_b2_t1.png) #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b2_t2.png) +![](gen/img/img_ph_h8_b2_t2.png) #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b2_t3.png) +![](gen/img/img_ph_h8_b2_t3.png) #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b2_t4.png) +![](gen/img/img_ph_h8_b2_t4.png) #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h7_b2_t5.png) +![](gen/img/img_ph_h8_b2_t5.png) @@ -1004,33 +1148,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h7_b3_t1.png)![](gen/img/img_ph_h7_b3_t1b.png) +![](gen/img/img_ph_h8_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h7_b3_t2.png)![](gen/img/img_ph_h7_b3_t2b.png) +![](gen/img/img_ph_h8_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h7_b3_t3.png)![](gen/img/img_ph_h7_b3_t3b.png) +![](gen/img/img_ph_h8_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h7_b3_t4.png)![](gen/img/img_ph_h7_b3_t4b.png) +![](gen/img/img_ph_h8_b3_t4.png) @@ -1042,17 +1186,17 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t1.png) +![](gen/img/img_ph_h9_b1_t1.png) #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t2.png) +![](gen/img/img_ph_h9_b1_t2.png) @@ -1060,41 +1204,41 @@ Time in seconds - 10 runs - lower is better BLIS hangs in this test -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t3.png) +![](gen/img/img_ph_h9_b1_t3.png) #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t4.png) +![](gen/img/img_ph_h9_b1_t4.png) #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t5.png) +![](gen/img/img_ph_h9_b1_t5.png) #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t6.png) +![](gen/img/img_ph_h9_b1_t6.png) #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b1_t7.png) +![](gen/img/img_ph_h9_b1_t7.png) @@ -1102,41 +1246,41 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b2_t1.png) +![](gen/img/img_ph_h9_b2_t1.png) #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b2_t2.png) +![](gen/img/img_ph_h9_b2_t2.png) #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b2_t3.png) +![](gen/img/img_ph_h9_b2_t3.png) #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b2_t4.png) +![](gen/img/img_ph_h9_b2_t4.png) #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better -![](gen/img/img_ph_h8_b2_t5.png) +![](gen/img/img_ph_h9_b2_t5.png) @@ -1144,33 +1288,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h8_b3_t1.png)![](gen/img/img_ph_h8_b3_t1b.png) +![](gen/img/img_ph_h9_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h8_b3_t2.png)![](gen/img/img_ph_h8_b3_t2b.png) +![](gen/img/img_ph_h9_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h8_b3_t3.png)![](gen/img/img_ph_h8_b3_t3b.png) +![](gen/img/img_ph_h9_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Netlib - from 50 to 5 runs - higher is better -![](gen/img/img_ph_h8_b3_t4.png)![](gen/img/img_ph_h8_b3_t4b.png) +![](gen/img/img_ph_h9_b3_t4.png) @@ -1185,7 +1329,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t1.png) @@ -1193,7 +1337,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t2.png) @@ -1201,7 +1345,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t3.png) @@ -1209,7 +1353,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t4.png) @@ -1217,7 +1361,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t5.png) @@ -1225,7 +1369,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t6.png) @@ -1233,7 +1377,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b1_t7.png) @@ -1243,7 +1387,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b2_t1.png) @@ -1251,7 +1395,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b2_t2.png) @@ -1259,7 +1403,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b2_t3.png) @@ -1267,7 +1411,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b2_t4.png) @@ -1275,7 +1419,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l1_b2_t5.png) @@ -1285,33 +1429,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l1_b3_t1.png)![](gen/img/img_pl_l1_b3_t1b.png) +![](gen/img/img_pl_l1_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l1_b3_t2.png)![](gen/img/img_pl_l1_b3_t2b.png) +![](gen/img/img_pl_l1_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l1_b3_t3.png)![](gen/img/img_pl_l1_b3_t3b.png) +![](gen/img/img_pl_l1_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l1_b3_t4.png)![](gen/img/img_pl_l1_b3_t4b.png) +![](gen/img/img_pl_l1_b3_t4.png) @@ -1323,7 +1467,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t1.png) @@ -1331,7 +1475,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t2.png) @@ -1339,7 +1483,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t3.png) @@ -1347,7 +1491,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t4.png) @@ -1355,7 +1499,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t5.png) @@ -1363,7 +1507,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t6.png) @@ -1371,7 +1515,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b1_t7.png) @@ -1381,7 +1525,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b2_t1.png) @@ -1389,7 +1533,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b2_t2.png) @@ -1397,7 +1541,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b2_t3.png) @@ -1405,7 +1549,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b2_t4.png) @@ -1413,7 +1557,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l2_b2_t5.png) @@ -1423,33 +1567,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l2_b3_t1.png)![](gen/img/img_pl_l2_b3_t1b.png) +![](gen/img/img_pl_l2_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l2_b3_t2.png)![](gen/img/img_pl_l2_b3_t2b.png) +![](gen/img/img_pl_l2_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l2_b3_t3.png)![](gen/img/img_pl_l2_b3_t3b.png) +![](gen/img/img_pl_l2_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l2_b3_t4.png)![](gen/img/img_pl_l2_b3_t4b.png) +![](gen/img/img_pl_l2_b3_t4.png) @@ -1461,7 +1605,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t1.png) @@ -1469,7 +1613,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t2.png) @@ -1477,7 +1621,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t3.png) @@ -1485,7 +1629,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t4.png) @@ -1493,7 +1637,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t5.png) @@ -1501,7 +1645,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t6.png) @@ -1509,7 +1653,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b1_t7.png) @@ -1519,7 +1663,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b2_t1.png) @@ -1527,7 +1671,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b2_t2.png) @@ -1535,7 +1679,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b2_t3.png) @@ -1543,7 +1687,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b2_t4.png) @@ -1551,7 +1695,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l3_b2_t5.png) @@ -1561,33 +1705,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l3_b3_t1.png)![](gen/img/img_pl_l3_b3_t1b.png) +![](gen/img/img_pl_l3_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l3_b3_t2.png)![](gen/img/img_pl_l3_b3_t2b.png) +![](gen/img/img_pl_l3_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l3_b3_t3.png)![](gen/img/img_pl_l3_b3_t3b.png) +![](gen/img/img_pl_l3_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l3_b3_t4.png)![](gen/img/img_pl_l3_b3_t4b.png) +![](gen/img/img_pl_l3_b3_t4.png) @@ -1599,7 +1743,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t1.png) @@ -1607,7 +1751,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t2.png) @@ -1615,7 +1759,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t3.png) @@ -1623,7 +1767,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t4.png) @@ -1631,7 +1775,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t5.png) @@ -1639,7 +1783,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t6.png) @@ -1647,7 +1791,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b1_t7.png) @@ -1657,7 +1801,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b2_t1.png) @@ -1665,7 +1809,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b2_t2.png) @@ -1673,7 +1817,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b2_t3.png) @@ -1681,7 +1825,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b2_t4.png) @@ -1689,7 +1833,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l4_b2_t5.png) @@ -1699,33 +1843,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l4_b3_t1.png)![](gen/img/img_pl_l4_b3_t1b.png) +![](gen/img/img_pl_l4_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l4_b3_t2.png)![](gen/img/img_pl_l4_b3_t2b.png) +![](gen/img/img_pl_l4_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l4_b3_t3.png)![](gen/img/img_pl_l4_b3_t3b.png) +![](gen/img/img_pl_l4_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l4_b3_t4.png)![](gen/img/img_pl_l4_b3_t4b.png) +![](gen/img/img_pl_l4_b3_t4.png) @@ -1737,7 +1881,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t1.png) @@ -1745,7 +1889,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t2.png) @@ -1753,7 +1897,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t3.png) @@ -1761,7 +1905,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t4.png) @@ -1769,7 +1913,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t5.png) @@ -1777,7 +1921,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t6.png) @@ -1785,7 +1929,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b1_t7.png) @@ -1795,7 +1939,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b2_t1.png) @@ -1803,7 +1947,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b2_t2.png) @@ -1811,7 +1955,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b2_t3.png) @@ -1819,7 +1963,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b2_t4.png) @@ -1827,7 +1971,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l5_b2_t5.png) @@ -1837,33 +1981,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l5_b3_t1.png)![](gen/img/img_pl_l5_b3_t1b.png) +![](gen/img/img_pl_l5_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l5_b3_t2.png)![](gen/img/img_pl_l5_b3_t2b.png) +![](gen/img/img_pl_l5_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l5_b3_t3.png)![](gen/img/img_pl_l5_b3_t3b.png) +![](gen/img/img_pl_l5_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l5_b3_t4.png)![](gen/img/img_pl_l5_b3_t4b.png) +![](gen/img/img_pl_l5_b3_t4.png) @@ -1875,7 +2019,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t1.png) @@ -1883,7 +2027,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t2.png) @@ -1891,7 +2035,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t3.png) @@ -1899,7 +2043,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t4.png) @@ -1907,7 +2051,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t5.png) @@ -1915,7 +2059,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t6.png) @@ -1923,7 +2067,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b1_t7.png) @@ -1933,7 +2077,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b2_t1.png) @@ -1941,7 +2085,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b2_t2.png) @@ -1949,7 +2093,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b2_t3.png) @@ -1957,7 +2101,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b2_t4.png) @@ -1965,7 +2109,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l6_b2_t5.png) @@ -1975,33 +2119,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l6_b3_t1.png)![](gen/img/img_pl_l6_b3_t1b.png) +![](gen/img/img_pl_l6_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l6_b3_t2.png)![](gen/img/img_pl_l6_b3_t2b.png) +![](gen/img/img_pl_l6_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l6_b3_t3.png)![](gen/img/img_pl_l6_b3_t3b.png) +![](gen/img/img_pl_l6_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l6_b3_t4.png)![](gen/img/img_pl_l6_b3_t4b.png) +![](gen/img/img_pl_l6_b3_t4.png) @@ -2013,7 +2157,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t1.png) @@ -2021,7 +2165,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t2.png) @@ -2031,7 +2175,7 @@ Time in seconds - 10 runs - lower is better Intel Pentium Dual-Core E5300 hangs in this test -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t3.png) @@ -2039,7 +2183,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t4.png) @@ -2047,7 +2191,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t5.png) @@ -2055,7 +2199,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t6.png) @@ -2063,7 +2207,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b1_t7.png) @@ -2073,7 +2217,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b2_t1.png) @@ -2081,7 +2225,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b2_t2.png) @@ -2089,7 +2233,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b2_t3.png) @@ -2097,7 +2241,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b2_t4.png) @@ -2105,7 +2249,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l7_b2_t5.png) @@ -2115,33 +2259,33 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l7_b3_t1.png)![](gen/img/img_pl_l7_b3_t1b.png) +![](gen/img/img_pl_l7_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l7_b3_t2.png)![](gen/img/img_pl_l7_b3_t2b.png) +![](gen/img/img_pl_l7_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l7_b3_t3.png)![](gen/img/img_pl_l7_b3_t3b.png) +![](gen/img/img_pl_l7_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: Intel Pentium Dual-Core E5300 - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l7_b3_t4.png)![](gen/img/img_pl_l7_b3_t4b.png) +![](gen/img/img_pl_l7_b3_t4.png) @@ -2153,7 +2297,7 @@ Time in seconds regarding matrix size - right panel on log scale - from 50 to #### 2800x2800 cross-product matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t1.png) @@ -2161,7 +2305,7 @@ Time in seconds - 10 runs - lower is better #### Linear regr. over a 2000x2000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t2.png) @@ -2169,7 +2313,7 @@ Time in seconds - 10 runs - lower is better #### Eigenvalues of a 600x600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t3.png) @@ -2177,7 +2321,7 @@ Time in seconds - 10 runs - lower is better #### Determinant of a 2500x2500 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t4.png) @@ -2185,7 +2329,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky decomposition of a 3000x3000 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t5.png) @@ -2193,7 +2337,7 @@ Time in seconds - 10 runs - lower is better #### Inverse of a 1600x1600 random matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t6.png) @@ -2201,7 +2345,7 @@ Time in seconds - 10 runs - lower is better #### Escoufier's method on a 45x45 matrix -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b1_t7.png) @@ -2211,7 +2355,7 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b2_t1.png) @@ -2219,7 +2363,7 @@ Time in seconds - 10 runs - lower is better #### Cholesky Factorization -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b2_t2.png) @@ -2227,7 +2371,7 @@ Time in seconds - 10 runs - lower is better #### Singular Value Deomposition -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b2_t3.png) @@ -2235,7 +2379,7 @@ Time in seconds - 10 runs - lower is better #### Principal Components Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b2_t4.png) @@ -2243,7 +2387,7 @@ Time in seconds - 10 runs - lower is better #### Linear Discriminant Analysis -Time in seconds - 10 runs - lower is better +Time in seconds - 10 runs - lower is better ![](gen/img/img_pl_l8_b2_t5.png) @@ -2253,31 +2397,31 @@ Time in seconds - 10 runs - lower is better #### Matrix Multiply -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: NVIDIA GeForce GT 630M - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l8_b3_t1.png)![](gen/img/img_pl_l8_b3_t1b.png) +![](gen/img/img_pl_l8_b3_t1.png) #### QR Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: NVIDIA GeForce GT 630M - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l8_b3_t2.png)![](gen/img/img_pl_l8_b3_t2b.png) +![](gen/img/img_pl_l8_b3_t2.png) #### Singular Value Deomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: NVIDIA GeForce GT 630M - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l8_b3_t3.png)![](gen/img/img_pl_l8_b3_t3b.png) +![](gen/img/img_pl_l8_b3_t3.png) #### Triangular Decomposition -Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better +Performance gain regarding matrix size - reference: NVIDIA GeForce GT 630M - from 50 to 5 runs - higher is better -![](gen/img/img_pl_l8_b3_t4.png)![](gen/img/img_pl_l8_b3_t4b.png) +![](gen/img/img_pl_l8_b3_t4.png) diff --git a/gen/data/benchmark.results.rds b/gen/data/benchmark.results.rds index 124b69d..8779f97 100644 Binary files a/gen/data/benchmark.results.rds and b/gen/data/benchmark.results.rds differ diff --git a/gen/data/hosts.info.rds b/gen/data/hosts.info.rds index 4548918..77d904f 100644 Binary files a/gen/data/hosts.info.rds and b/gen/data/hosts.info.rds differ diff --git a/gen/img/img_ph_h1_b3_t1.png b/gen/img/img_ph_h1_b3_t1.png index 8babce3..767b207 100644 Binary files a/gen/img/img_ph_h1_b3_t1.png and b/gen/img/img_ph_h1_b3_t1.png differ diff --git a/gen/img/img_ph_h1_b3_t1b.png b/gen/img/img_ph_h1_b3_t1b.png deleted file mode 100644 index 4c10f78..0000000 Binary files a/gen/img/img_ph_h1_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h1_b3_t2.png b/gen/img/img_ph_h1_b3_t2.png index cb6b670..d526af0 100644 Binary files a/gen/img/img_ph_h1_b3_t2.png and b/gen/img/img_ph_h1_b3_t2.png differ diff --git a/gen/img/img_ph_h1_b3_t2b.png b/gen/img/img_ph_h1_b3_t2b.png deleted file mode 100644 index 06a3d9d..0000000 Binary files a/gen/img/img_ph_h1_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h1_b3_t3.png b/gen/img/img_ph_h1_b3_t3.png index f621df9..4f7008a 100644 Binary files a/gen/img/img_ph_h1_b3_t3.png and b/gen/img/img_ph_h1_b3_t3.png differ diff --git a/gen/img/img_ph_h1_b3_t3b.png b/gen/img/img_ph_h1_b3_t3b.png deleted file mode 100644 index f97e310..0000000 Binary files a/gen/img/img_ph_h1_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h1_b3_t4.png b/gen/img/img_ph_h1_b3_t4.png index 058d2b6..11a5258 100644 Binary files a/gen/img/img_ph_h1_b3_t4.png and b/gen/img/img_ph_h1_b3_t4.png differ diff --git a/gen/img/img_ph_h1_b3_t4b.png b/gen/img/img_ph_h1_b3_t4b.png deleted file mode 100644 index df71301..0000000 Binary files a/gen/img/img_ph_h1_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h2_b3_t1.png b/gen/img/img_ph_h2_b3_t1.png index ae66014..eaf43e7 100644 Binary files a/gen/img/img_ph_h2_b3_t1.png and b/gen/img/img_ph_h2_b3_t1.png differ diff --git a/gen/img/img_ph_h2_b3_t1b.png b/gen/img/img_ph_h2_b3_t1b.png deleted file mode 100644 index 565bd4a..0000000 Binary files a/gen/img/img_ph_h2_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h2_b3_t2.png b/gen/img/img_ph_h2_b3_t2.png index d31fabb..4cbbe4f 100644 Binary files a/gen/img/img_ph_h2_b3_t2.png and b/gen/img/img_ph_h2_b3_t2.png differ diff --git a/gen/img/img_ph_h2_b3_t2b.png b/gen/img/img_ph_h2_b3_t2b.png deleted file mode 100644 index 34f6bc0..0000000 Binary files a/gen/img/img_ph_h2_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h2_b3_t3.png b/gen/img/img_ph_h2_b3_t3.png index 78461c3..e063495 100644 Binary files a/gen/img/img_ph_h2_b3_t3.png and b/gen/img/img_ph_h2_b3_t3.png differ diff --git a/gen/img/img_ph_h2_b3_t3b.png b/gen/img/img_ph_h2_b3_t3b.png deleted file mode 100644 index 09f0ae6..0000000 Binary files a/gen/img/img_ph_h2_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h2_b3_t4.png b/gen/img/img_ph_h2_b3_t4.png index c258288..ab9daa8 100644 Binary files a/gen/img/img_ph_h2_b3_t4.png and b/gen/img/img_ph_h2_b3_t4.png differ diff --git a/gen/img/img_ph_h2_b3_t4b.png b/gen/img/img_ph_h2_b3_t4b.png deleted file mode 100644 index cc26a10..0000000 Binary files a/gen/img/img_ph_h2_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h3_b3_t1.png b/gen/img/img_ph_h3_b3_t1.png index 36ddbc2..9d70ced 100644 Binary files a/gen/img/img_ph_h3_b3_t1.png and b/gen/img/img_ph_h3_b3_t1.png differ diff --git a/gen/img/img_ph_h3_b3_t1b.png b/gen/img/img_ph_h3_b3_t1b.png deleted file mode 100644 index 416a84a..0000000 Binary files a/gen/img/img_ph_h3_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h3_b3_t2.png b/gen/img/img_ph_h3_b3_t2.png index ad33fa8..1589bdc 100644 Binary files a/gen/img/img_ph_h3_b3_t2.png and b/gen/img/img_ph_h3_b3_t2.png differ diff --git a/gen/img/img_ph_h3_b3_t2b.png b/gen/img/img_ph_h3_b3_t2b.png deleted file mode 100644 index 9aa9064..0000000 Binary files a/gen/img/img_ph_h3_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h3_b3_t3.png b/gen/img/img_ph_h3_b3_t3.png index 5c2e130..eae16f8 100644 Binary files a/gen/img/img_ph_h3_b3_t3.png and b/gen/img/img_ph_h3_b3_t3.png differ diff --git a/gen/img/img_ph_h3_b3_t3b.png b/gen/img/img_ph_h3_b3_t3b.png deleted file mode 100644 index b4c6a9e..0000000 Binary files a/gen/img/img_ph_h3_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h3_b3_t4.png b/gen/img/img_ph_h3_b3_t4.png index 7906064..5d798d7 100644 Binary files a/gen/img/img_ph_h3_b3_t4.png and b/gen/img/img_ph_h3_b3_t4.png differ diff --git a/gen/img/img_ph_h3_b3_t4b.png b/gen/img/img_ph_h3_b3_t4b.png deleted file mode 100644 index 4d6725c..0000000 Binary files a/gen/img/img_ph_h3_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h4_b1_t1.png b/gen/img/img_ph_h4_b1_t1.png index a1a2015..a84e7a2 100644 Binary files a/gen/img/img_ph_h4_b1_t1.png and b/gen/img/img_ph_h4_b1_t1.png differ diff --git a/gen/img/img_ph_h4_b1_t2.png b/gen/img/img_ph_h4_b1_t2.png index ba2a84b..3a9a064 100644 Binary files a/gen/img/img_ph_h4_b1_t2.png and b/gen/img/img_ph_h4_b1_t2.png differ diff --git a/gen/img/img_ph_h4_b1_t3.png b/gen/img/img_ph_h4_b1_t3.png index a6099a7..09aeb7f 100644 Binary files a/gen/img/img_ph_h4_b1_t3.png and b/gen/img/img_ph_h4_b1_t3.png differ diff --git a/gen/img/img_ph_h4_b1_t4.png b/gen/img/img_ph_h4_b1_t4.png index b641671..98c3275 100644 Binary files a/gen/img/img_ph_h4_b1_t4.png and b/gen/img/img_ph_h4_b1_t4.png differ diff --git a/gen/img/img_ph_h4_b1_t5.png b/gen/img/img_ph_h4_b1_t5.png index 59be9ed..364b8f9 100644 Binary files a/gen/img/img_ph_h4_b1_t5.png and b/gen/img/img_ph_h4_b1_t5.png differ diff --git a/gen/img/img_ph_h4_b1_t6.png b/gen/img/img_ph_h4_b1_t6.png index 68f0d5b..16527d2 100644 Binary files a/gen/img/img_ph_h4_b1_t6.png and b/gen/img/img_ph_h4_b1_t6.png differ diff --git a/gen/img/img_ph_h4_b1_t7.png b/gen/img/img_ph_h4_b1_t7.png index dac4517..c0b3a88 100644 Binary files a/gen/img/img_ph_h4_b1_t7.png and b/gen/img/img_ph_h4_b1_t7.png differ diff --git a/gen/img/img_ph_h4_b2_t1.png b/gen/img/img_ph_h4_b2_t1.png index 99a7362..c230440 100644 Binary files a/gen/img/img_ph_h4_b2_t1.png and b/gen/img/img_ph_h4_b2_t1.png differ diff --git a/gen/img/img_ph_h4_b2_t2.png b/gen/img/img_ph_h4_b2_t2.png index df3b707..722b5c2 100644 Binary files a/gen/img/img_ph_h4_b2_t2.png and b/gen/img/img_ph_h4_b2_t2.png differ diff --git a/gen/img/img_ph_h4_b2_t3.png b/gen/img/img_ph_h4_b2_t3.png index 68d2a64..e508ba9 100644 Binary files a/gen/img/img_ph_h4_b2_t3.png and b/gen/img/img_ph_h4_b2_t3.png differ diff --git a/gen/img/img_ph_h4_b2_t4.png b/gen/img/img_ph_h4_b2_t4.png index 05fc95d..e0c2573 100644 Binary files a/gen/img/img_ph_h4_b2_t4.png and b/gen/img/img_ph_h4_b2_t4.png differ diff --git a/gen/img/img_ph_h4_b2_t5.png b/gen/img/img_ph_h4_b2_t5.png index 1435596..040f8ca 100644 Binary files a/gen/img/img_ph_h4_b2_t5.png and b/gen/img/img_ph_h4_b2_t5.png differ diff --git a/gen/img/img_ph_h4_b3_t1.png b/gen/img/img_ph_h4_b3_t1.png index 3082022..693ace5 100644 Binary files a/gen/img/img_ph_h4_b3_t1.png and b/gen/img/img_ph_h4_b3_t1.png differ diff --git a/gen/img/img_ph_h4_b3_t1b.png b/gen/img/img_ph_h4_b3_t1b.png deleted file mode 100644 index b78aa86..0000000 Binary files a/gen/img/img_ph_h4_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h4_b3_t2.png b/gen/img/img_ph_h4_b3_t2.png index 9edfe85..93041f0 100644 Binary files a/gen/img/img_ph_h4_b3_t2.png and b/gen/img/img_ph_h4_b3_t2.png differ diff --git a/gen/img/img_ph_h4_b3_t2b.png b/gen/img/img_ph_h4_b3_t2b.png deleted file mode 100644 index 7139837..0000000 Binary files a/gen/img/img_ph_h4_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h4_b3_t3.png b/gen/img/img_ph_h4_b3_t3.png index 5398b00..0dee2d4 100644 Binary files a/gen/img/img_ph_h4_b3_t3.png and b/gen/img/img_ph_h4_b3_t3.png differ diff --git a/gen/img/img_ph_h4_b3_t3b.png b/gen/img/img_ph_h4_b3_t3b.png deleted file mode 100644 index 6e84dfe..0000000 Binary files a/gen/img/img_ph_h4_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h4_b3_t4.png b/gen/img/img_ph_h4_b3_t4.png index ddc0598..0d75938 100644 Binary files a/gen/img/img_ph_h4_b3_t4.png and b/gen/img/img_ph_h4_b3_t4.png differ diff --git a/gen/img/img_ph_h4_b3_t4b.png b/gen/img/img_ph_h4_b3_t4b.png deleted file mode 100644 index 5b6c255..0000000 Binary files a/gen/img/img_ph_h4_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h5_b1_t1.png b/gen/img/img_ph_h5_b1_t1.png index 155c4c1..a1a2015 100644 Binary files a/gen/img/img_ph_h5_b1_t1.png and b/gen/img/img_ph_h5_b1_t1.png differ diff --git a/gen/img/img_ph_h5_b1_t2.png b/gen/img/img_ph_h5_b1_t2.png index 012b195..ba2a84b 100644 Binary files a/gen/img/img_ph_h5_b1_t2.png and b/gen/img/img_ph_h5_b1_t2.png differ diff --git a/gen/img/img_ph_h5_b1_t3.png b/gen/img/img_ph_h5_b1_t3.png index fb7b571..a6099a7 100644 Binary files a/gen/img/img_ph_h5_b1_t3.png and b/gen/img/img_ph_h5_b1_t3.png differ diff --git a/gen/img/img_ph_h5_b1_t4.png b/gen/img/img_ph_h5_b1_t4.png index e008a42..b641671 100644 Binary files a/gen/img/img_ph_h5_b1_t4.png and b/gen/img/img_ph_h5_b1_t4.png differ diff --git a/gen/img/img_ph_h5_b1_t5.png b/gen/img/img_ph_h5_b1_t5.png index 52108e3..59be9ed 100644 Binary files a/gen/img/img_ph_h5_b1_t5.png and b/gen/img/img_ph_h5_b1_t5.png differ diff --git a/gen/img/img_ph_h5_b1_t6.png b/gen/img/img_ph_h5_b1_t6.png index 4420c26..68f0d5b 100644 Binary files a/gen/img/img_ph_h5_b1_t6.png and b/gen/img/img_ph_h5_b1_t6.png differ diff --git a/gen/img/img_ph_h5_b1_t7.png b/gen/img/img_ph_h5_b1_t7.png index a06ed72..dac4517 100644 Binary files a/gen/img/img_ph_h5_b1_t7.png and b/gen/img/img_ph_h5_b1_t7.png differ diff --git a/gen/img/img_ph_h5_b2_t1.png b/gen/img/img_ph_h5_b2_t1.png index ba5ef4d..99a7362 100644 Binary files a/gen/img/img_ph_h5_b2_t1.png and b/gen/img/img_ph_h5_b2_t1.png differ diff --git a/gen/img/img_ph_h5_b2_t2.png b/gen/img/img_ph_h5_b2_t2.png index 922c929..df3b707 100644 Binary files a/gen/img/img_ph_h5_b2_t2.png and b/gen/img/img_ph_h5_b2_t2.png differ diff --git a/gen/img/img_ph_h5_b2_t3.png b/gen/img/img_ph_h5_b2_t3.png index c3f3004..68d2a64 100644 Binary files a/gen/img/img_ph_h5_b2_t3.png and b/gen/img/img_ph_h5_b2_t3.png differ diff --git a/gen/img/img_ph_h5_b2_t4.png b/gen/img/img_ph_h5_b2_t4.png index ea5adbb..05fc95d 100644 Binary files a/gen/img/img_ph_h5_b2_t4.png and b/gen/img/img_ph_h5_b2_t4.png differ diff --git a/gen/img/img_ph_h5_b2_t5.png b/gen/img/img_ph_h5_b2_t5.png index 62c3d08..1435596 100644 Binary files a/gen/img/img_ph_h5_b2_t5.png and b/gen/img/img_ph_h5_b2_t5.png differ diff --git a/gen/img/img_ph_h5_b3_t1.png b/gen/img/img_ph_h5_b3_t1.png index e8ff03c..28f6775 100644 Binary files a/gen/img/img_ph_h5_b3_t1.png and b/gen/img/img_ph_h5_b3_t1.png differ diff --git a/gen/img/img_ph_h5_b3_t1b.png b/gen/img/img_ph_h5_b3_t1b.png deleted file mode 100644 index 0f63b7c..0000000 Binary files a/gen/img/img_ph_h5_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h5_b3_t2.png b/gen/img/img_ph_h5_b3_t2.png index 2c8ce1b..a75030f 100644 Binary files a/gen/img/img_ph_h5_b3_t2.png and b/gen/img/img_ph_h5_b3_t2.png differ diff --git a/gen/img/img_ph_h5_b3_t2b.png b/gen/img/img_ph_h5_b3_t2b.png deleted file mode 100644 index bca8517..0000000 Binary files a/gen/img/img_ph_h5_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h5_b3_t3.png b/gen/img/img_ph_h5_b3_t3.png index 03be8bd..aa46a93 100644 Binary files a/gen/img/img_ph_h5_b3_t3.png and b/gen/img/img_ph_h5_b3_t3.png differ diff --git a/gen/img/img_ph_h5_b3_t3b.png b/gen/img/img_ph_h5_b3_t3b.png deleted file mode 100644 index 5da27c3..0000000 Binary files a/gen/img/img_ph_h5_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h5_b3_t4.png b/gen/img/img_ph_h5_b3_t4.png index 092c2c3..6fe3c5c 100644 Binary files a/gen/img/img_ph_h5_b3_t4.png and b/gen/img/img_ph_h5_b3_t4.png differ diff --git a/gen/img/img_ph_h5_b3_t4b.png b/gen/img/img_ph_h5_b3_t4b.png deleted file mode 100644 index a851b61..0000000 Binary files a/gen/img/img_ph_h5_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h6_b1_t1.png b/gen/img/img_ph_h6_b1_t1.png index 2eb952d..155c4c1 100644 Binary files a/gen/img/img_ph_h6_b1_t1.png and b/gen/img/img_ph_h6_b1_t1.png differ diff --git a/gen/img/img_ph_h6_b1_t2.png b/gen/img/img_ph_h6_b1_t2.png index fcfce5d..012b195 100644 Binary files a/gen/img/img_ph_h6_b1_t2.png and b/gen/img/img_ph_h6_b1_t2.png differ diff --git a/gen/img/img_ph_h6_b1_t3.png b/gen/img/img_ph_h6_b1_t3.png index 28cdeb0..fb7b571 100644 Binary files a/gen/img/img_ph_h6_b1_t3.png and b/gen/img/img_ph_h6_b1_t3.png differ diff --git a/gen/img/img_ph_h6_b1_t4.png b/gen/img/img_ph_h6_b1_t4.png index 57488e3..e008a42 100644 Binary files a/gen/img/img_ph_h6_b1_t4.png and b/gen/img/img_ph_h6_b1_t4.png differ diff --git a/gen/img/img_ph_h6_b1_t5.png b/gen/img/img_ph_h6_b1_t5.png index 35bac2b..52108e3 100644 Binary files a/gen/img/img_ph_h6_b1_t5.png and b/gen/img/img_ph_h6_b1_t5.png differ diff --git a/gen/img/img_ph_h6_b1_t6.png b/gen/img/img_ph_h6_b1_t6.png index bffbc2d..4420c26 100644 Binary files a/gen/img/img_ph_h6_b1_t6.png and b/gen/img/img_ph_h6_b1_t6.png differ diff --git a/gen/img/img_ph_h6_b1_t7.png b/gen/img/img_ph_h6_b1_t7.png index 1c3dc7e..a06ed72 100644 Binary files a/gen/img/img_ph_h6_b1_t7.png and b/gen/img/img_ph_h6_b1_t7.png differ diff --git a/gen/img/img_ph_h6_b2_t1.png b/gen/img/img_ph_h6_b2_t1.png index 286d5c5..ba5ef4d 100644 Binary files a/gen/img/img_ph_h6_b2_t1.png and b/gen/img/img_ph_h6_b2_t1.png differ diff --git a/gen/img/img_ph_h6_b2_t2.png b/gen/img/img_ph_h6_b2_t2.png index 7f0ac5e..922c929 100644 Binary files a/gen/img/img_ph_h6_b2_t2.png and b/gen/img/img_ph_h6_b2_t2.png differ diff --git a/gen/img/img_ph_h6_b2_t3.png b/gen/img/img_ph_h6_b2_t3.png index 4d6b6a3..c3f3004 100644 Binary files a/gen/img/img_ph_h6_b2_t3.png and b/gen/img/img_ph_h6_b2_t3.png differ diff --git a/gen/img/img_ph_h6_b2_t4.png b/gen/img/img_ph_h6_b2_t4.png index da56509..ea5adbb 100644 Binary files a/gen/img/img_ph_h6_b2_t4.png and b/gen/img/img_ph_h6_b2_t4.png differ diff --git a/gen/img/img_ph_h6_b2_t5.png b/gen/img/img_ph_h6_b2_t5.png index 79769c2..62c3d08 100644 Binary files a/gen/img/img_ph_h6_b2_t5.png and b/gen/img/img_ph_h6_b2_t5.png differ diff --git a/gen/img/img_ph_h6_b3_t1.png b/gen/img/img_ph_h6_b3_t1.png index defd299..366040a 100644 Binary files a/gen/img/img_ph_h6_b3_t1.png and b/gen/img/img_ph_h6_b3_t1.png differ diff --git a/gen/img/img_ph_h6_b3_t1b.png b/gen/img/img_ph_h6_b3_t1b.png deleted file mode 100644 index e1cf4b1..0000000 Binary files a/gen/img/img_ph_h6_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h6_b3_t2.png b/gen/img/img_ph_h6_b3_t2.png index bbfcc03..15201da 100644 Binary files a/gen/img/img_ph_h6_b3_t2.png and b/gen/img/img_ph_h6_b3_t2.png differ diff --git a/gen/img/img_ph_h6_b3_t2b.png b/gen/img/img_ph_h6_b3_t2b.png deleted file mode 100644 index fac5971..0000000 Binary files a/gen/img/img_ph_h6_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h6_b3_t3.png b/gen/img/img_ph_h6_b3_t3.png index 55beff4..689711e 100644 Binary files a/gen/img/img_ph_h6_b3_t3.png and b/gen/img/img_ph_h6_b3_t3.png differ diff --git a/gen/img/img_ph_h6_b3_t3b.png b/gen/img/img_ph_h6_b3_t3b.png deleted file mode 100644 index 15a17d5..0000000 Binary files a/gen/img/img_ph_h6_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h6_b3_t4.png b/gen/img/img_ph_h6_b3_t4.png index b0c40a4..5d080e9 100644 Binary files a/gen/img/img_ph_h6_b3_t4.png and b/gen/img/img_ph_h6_b3_t4.png differ diff --git a/gen/img/img_ph_h6_b3_t4b.png b/gen/img/img_ph_h6_b3_t4b.png deleted file mode 100644 index a249323..0000000 Binary files a/gen/img/img_ph_h6_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h7_b1_t1.png b/gen/img/img_ph_h7_b1_t1.png index 0c7e6f1..2eb952d 100644 Binary files a/gen/img/img_ph_h7_b1_t1.png and b/gen/img/img_ph_h7_b1_t1.png differ diff --git a/gen/img/img_ph_h7_b1_t2.png b/gen/img/img_ph_h7_b1_t2.png index 14f1685..fcfce5d 100644 Binary files a/gen/img/img_ph_h7_b1_t2.png and b/gen/img/img_ph_h7_b1_t2.png differ diff --git a/gen/img/img_ph_h7_b1_t3.png b/gen/img/img_ph_h7_b1_t3.png index 9034f7d..28cdeb0 100644 Binary files a/gen/img/img_ph_h7_b1_t3.png and b/gen/img/img_ph_h7_b1_t3.png differ diff --git a/gen/img/img_ph_h7_b1_t4.png b/gen/img/img_ph_h7_b1_t4.png index 2203c57..57488e3 100644 Binary files a/gen/img/img_ph_h7_b1_t4.png and b/gen/img/img_ph_h7_b1_t4.png differ diff --git a/gen/img/img_ph_h7_b1_t5.png b/gen/img/img_ph_h7_b1_t5.png index 94ba4b7..35bac2b 100644 Binary files a/gen/img/img_ph_h7_b1_t5.png and b/gen/img/img_ph_h7_b1_t5.png differ diff --git a/gen/img/img_ph_h7_b1_t6.png b/gen/img/img_ph_h7_b1_t6.png index 5ce4543..bffbc2d 100644 Binary files a/gen/img/img_ph_h7_b1_t6.png and b/gen/img/img_ph_h7_b1_t6.png differ diff --git a/gen/img/img_ph_h7_b1_t7.png b/gen/img/img_ph_h7_b1_t7.png index d93623d..1c3dc7e 100644 Binary files a/gen/img/img_ph_h7_b1_t7.png and b/gen/img/img_ph_h7_b1_t7.png differ diff --git a/gen/img/img_ph_h7_b2_t1.png b/gen/img/img_ph_h7_b2_t1.png index d755b3e..286d5c5 100644 Binary files a/gen/img/img_ph_h7_b2_t1.png and b/gen/img/img_ph_h7_b2_t1.png differ diff --git a/gen/img/img_ph_h7_b2_t2.png b/gen/img/img_ph_h7_b2_t2.png index 51d1e11..7f0ac5e 100644 Binary files a/gen/img/img_ph_h7_b2_t2.png and b/gen/img/img_ph_h7_b2_t2.png differ diff --git a/gen/img/img_ph_h7_b2_t3.png b/gen/img/img_ph_h7_b2_t3.png index ffb5b87..4d6b6a3 100644 Binary files a/gen/img/img_ph_h7_b2_t3.png and b/gen/img/img_ph_h7_b2_t3.png differ diff --git a/gen/img/img_ph_h7_b2_t4.png b/gen/img/img_ph_h7_b2_t4.png index 9aa3c0e..da56509 100644 Binary files a/gen/img/img_ph_h7_b2_t4.png and b/gen/img/img_ph_h7_b2_t4.png differ diff --git a/gen/img/img_ph_h7_b2_t5.png b/gen/img/img_ph_h7_b2_t5.png index 5d01467..79769c2 100644 Binary files a/gen/img/img_ph_h7_b2_t5.png and b/gen/img/img_ph_h7_b2_t5.png differ diff --git a/gen/img/img_ph_h7_b3_t1.png b/gen/img/img_ph_h7_b3_t1.png index 9ea79b9..8d0d45b 100644 Binary files a/gen/img/img_ph_h7_b3_t1.png and b/gen/img/img_ph_h7_b3_t1.png differ diff --git a/gen/img/img_ph_h7_b3_t1b.png b/gen/img/img_ph_h7_b3_t1b.png deleted file mode 100644 index 61073f6..0000000 Binary files a/gen/img/img_ph_h7_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h7_b3_t2.png b/gen/img/img_ph_h7_b3_t2.png index 958c3c3..1bbde22 100644 Binary files a/gen/img/img_ph_h7_b3_t2.png and b/gen/img/img_ph_h7_b3_t2.png differ diff --git a/gen/img/img_ph_h7_b3_t2b.png b/gen/img/img_ph_h7_b3_t2b.png deleted file mode 100644 index fdcc924..0000000 Binary files a/gen/img/img_ph_h7_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h7_b3_t3.png b/gen/img/img_ph_h7_b3_t3.png index 444e58d..f6e2da5 100644 Binary files a/gen/img/img_ph_h7_b3_t3.png and b/gen/img/img_ph_h7_b3_t3.png differ diff --git a/gen/img/img_ph_h7_b3_t3b.png b/gen/img/img_ph_h7_b3_t3b.png deleted file mode 100644 index 731f6a9..0000000 Binary files a/gen/img/img_ph_h7_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h7_b3_t4.png b/gen/img/img_ph_h7_b3_t4.png index a17a9c5..1b7e51f 100644 Binary files a/gen/img/img_ph_h7_b3_t4.png and b/gen/img/img_ph_h7_b3_t4.png differ diff --git a/gen/img/img_ph_h7_b3_t4b.png b/gen/img/img_ph_h7_b3_t4b.png deleted file mode 100644 index 6e3c1d6..0000000 Binary files a/gen/img/img_ph_h7_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h8_b1_t1.png b/gen/img/img_ph_h8_b1_t1.png index 6999788..0c7e6f1 100644 Binary files a/gen/img/img_ph_h8_b1_t1.png and b/gen/img/img_ph_h8_b1_t1.png differ diff --git a/gen/img/img_ph_h8_b1_t2.png b/gen/img/img_ph_h8_b1_t2.png index c7c3809..14f1685 100644 Binary files a/gen/img/img_ph_h8_b1_t2.png and b/gen/img/img_ph_h8_b1_t2.png differ diff --git a/gen/img/img_ph_h8_b1_t3.png b/gen/img/img_ph_h8_b1_t3.png index 42fabe6..9034f7d 100644 Binary files a/gen/img/img_ph_h8_b1_t3.png and b/gen/img/img_ph_h8_b1_t3.png differ diff --git a/gen/img/img_ph_h8_b1_t4.png b/gen/img/img_ph_h8_b1_t4.png index c9ee108..2203c57 100644 Binary files a/gen/img/img_ph_h8_b1_t4.png and b/gen/img/img_ph_h8_b1_t4.png differ diff --git a/gen/img/img_ph_h8_b1_t5.png b/gen/img/img_ph_h8_b1_t5.png index 3b59020..94ba4b7 100644 Binary files a/gen/img/img_ph_h8_b1_t5.png and b/gen/img/img_ph_h8_b1_t5.png differ diff --git a/gen/img/img_ph_h8_b1_t6.png b/gen/img/img_ph_h8_b1_t6.png index 1cd308c..5ce4543 100644 Binary files a/gen/img/img_ph_h8_b1_t6.png and b/gen/img/img_ph_h8_b1_t6.png differ diff --git a/gen/img/img_ph_h8_b1_t7.png b/gen/img/img_ph_h8_b1_t7.png index ccef455..d93623d 100644 Binary files a/gen/img/img_ph_h8_b1_t7.png and b/gen/img/img_ph_h8_b1_t7.png differ diff --git a/gen/img/img_ph_h8_b2_t1.png b/gen/img/img_ph_h8_b2_t1.png index eaf5eaa..d755b3e 100644 Binary files a/gen/img/img_ph_h8_b2_t1.png and b/gen/img/img_ph_h8_b2_t1.png differ diff --git a/gen/img/img_ph_h8_b2_t2.png b/gen/img/img_ph_h8_b2_t2.png index 424a384..51d1e11 100644 Binary files a/gen/img/img_ph_h8_b2_t2.png and b/gen/img/img_ph_h8_b2_t2.png differ diff --git a/gen/img/img_ph_h8_b2_t3.png b/gen/img/img_ph_h8_b2_t3.png index 196868f..ffb5b87 100644 Binary files a/gen/img/img_ph_h8_b2_t3.png and b/gen/img/img_ph_h8_b2_t3.png differ diff --git a/gen/img/img_ph_h8_b2_t4.png b/gen/img/img_ph_h8_b2_t4.png index c8527ad..9aa3c0e 100644 Binary files a/gen/img/img_ph_h8_b2_t4.png and b/gen/img/img_ph_h8_b2_t4.png differ diff --git a/gen/img/img_ph_h8_b2_t5.png b/gen/img/img_ph_h8_b2_t5.png index d6f3be1..5d01467 100644 Binary files a/gen/img/img_ph_h8_b2_t5.png and b/gen/img/img_ph_h8_b2_t5.png differ diff --git a/gen/img/img_ph_h8_b3_t1.png b/gen/img/img_ph_h8_b3_t1.png index 90c266e..14cf9e8 100644 Binary files a/gen/img/img_ph_h8_b3_t1.png and b/gen/img/img_ph_h8_b3_t1.png differ diff --git a/gen/img/img_ph_h8_b3_t1b.png b/gen/img/img_ph_h8_b3_t1b.png deleted file mode 100644 index 0db2c4d..0000000 Binary files a/gen/img/img_ph_h8_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_ph_h8_b3_t2.png b/gen/img/img_ph_h8_b3_t2.png index 7ad2ab6..edd196a 100644 Binary files a/gen/img/img_ph_h8_b3_t2.png and b/gen/img/img_ph_h8_b3_t2.png differ diff --git a/gen/img/img_ph_h8_b3_t2b.png b/gen/img/img_ph_h8_b3_t2b.png deleted file mode 100644 index 9d0920e..0000000 Binary files a/gen/img/img_ph_h8_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_ph_h8_b3_t3.png b/gen/img/img_ph_h8_b3_t3.png index 32ac5ba..67915cf 100644 Binary files a/gen/img/img_ph_h8_b3_t3.png and b/gen/img/img_ph_h8_b3_t3.png differ diff --git a/gen/img/img_ph_h8_b3_t3b.png b/gen/img/img_ph_h8_b3_t3b.png deleted file mode 100644 index 7a73641..0000000 Binary files a/gen/img/img_ph_h8_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_ph_h8_b3_t4.png b/gen/img/img_ph_h8_b3_t4.png index 7595f2a..4318edd 100644 Binary files a/gen/img/img_ph_h8_b3_t4.png and b/gen/img/img_ph_h8_b3_t4.png differ diff --git a/gen/img/img_ph_h8_b3_t4b.png b/gen/img/img_ph_h8_b3_t4b.png deleted file mode 100644 index 59acb8e..0000000 Binary files a/gen/img/img_ph_h8_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_ph_h9_b1_t1.png b/gen/img/img_ph_h9_b1_t1.png new file mode 100644 index 0000000..6999788 Binary files /dev/null and b/gen/img/img_ph_h9_b1_t1.png differ diff --git a/gen/img/img_ph_h9_b1_t2.png b/gen/img/img_ph_h9_b1_t2.png new file mode 100644 index 0000000..c7c3809 Binary files /dev/null and b/gen/img/img_ph_h9_b1_t2.png differ diff --git a/gen/img/img_ph_h9_b1_t3.png b/gen/img/img_ph_h9_b1_t3.png new file mode 100644 index 0000000..42fabe6 Binary files /dev/null and b/gen/img/img_ph_h9_b1_t3.png differ diff --git a/gen/img/img_ph_h9_b1_t4.png b/gen/img/img_ph_h9_b1_t4.png new file mode 100644 index 0000000..c9ee108 Binary files /dev/null and b/gen/img/img_ph_h9_b1_t4.png differ diff --git a/gen/img/img_ph_h9_b1_t5.png b/gen/img/img_ph_h9_b1_t5.png new file mode 100644 index 0000000..3b59020 Binary files /dev/null and b/gen/img/img_ph_h9_b1_t5.png differ diff --git a/gen/img/img_ph_h9_b1_t6.png b/gen/img/img_ph_h9_b1_t6.png new file mode 100644 index 0000000..1cd308c Binary files /dev/null and b/gen/img/img_ph_h9_b1_t6.png differ diff --git a/gen/img/img_ph_h9_b1_t7.png b/gen/img/img_ph_h9_b1_t7.png new file mode 100644 index 0000000..ccef455 Binary files /dev/null and b/gen/img/img_ph_h9_b1_t7.png differ diff --git a/gen/img/img_ph_h9_b2_t1.png b/gen/img/img_ph_h9_b2_t1.png new file mode 100644 index 0000000..eaf5eaa Binary files /dev/null and b/gen/img/img_ph_h9_b2_t1.png differ diff --git a/gen/img/img_ph_h9_b2_t2.png b/gen/img/img_ph_h9_b2_t2.png new file mode 100644 index 0000000..424a384 Binary files /dev/null and b/gen/img/img_ph_h9_b2_t2.png differ diff --git a/gen/img/img_ph_h9_b2_t3.png b/gen/img/img_ph_h9_b2_t3.png new file mode 100644 index 0000000..196868f Binary files /dev/null and b/gen/img/img_ph_h9_b2_t3.png differ diff --git a/gen/img/img_ph_h9_b2_t4.png b/gen/img/img_ph_h9_b2_t4.png new file mode 100644 index 0000000..c8527ad Binary files /dev/null and b/gen/img/img_ph_h9_b2_t4.png differ diff --git a/gen/img/img_ph_h9_b2_t5.png b/gen/img/img_ph_h9_b2_t5.png new file mode 100644 index 0000000..d6f3be1 Binary files /dev/null and b/gen/img/img_ph_h9_b2_t5.png differ diff --git a/gen/img/img_ph_h9_b3_t1.png b/gen/img/img_ph_h9_b3_t1.png new file mode 100644 index 0000000..0b6ac5d Binary files /dev/null and b/gen/img/img_ph_h9_b3_t1.png differ diff --git a/gen/img/img_ph_h9_b3_t2.png b/gen/img/img_ph_h9_b3_t2.png new file mode 100644 index 0000000..45fe772 Binary files /dev/null and b/gen/img/img_ph_h9_b3_t2.png differ diff --git a/gen/img/img_ph_h9_b3_t3.png b/gen/img/img_ph_h9_b3_t3.png new file mode 100644 index 0000000..46cc7a3 Binary files /dev/null and b/gen/img/img_ph_h9_b3_t3.png differ diff --git a/gen/img/img_ph_h9_b3_t4.png b/gen/img/img_ph_h9_b3_t4.png new file mode 100644 index 0000000..706260a Binary files /dev/null and b/gen/img/img_ph_h9_b3_t4.png differ diff --git a/gen/img/img_pl_l1_b1_t1.png b/gen/img/img_pl_l1_b1_t1.png index 7d07b4f..9783320 100644 Binary files a/gen/img/img_pl_l1_b1_t1.png and b/gen/img/img_pl_l1_b1_t1.png differ diff --git a/gen/img/img_pl_l1_b1_t2.png b/gen/img/img_pl_l1_b1_t2.png index 91079a0..25ce6ef 100644 Binary files a/gen/img/img_pl_l1_b1_t2.png and b/gen/img/img_pl_l1_b1_t2.png differ diff --git a/gen/img/img_pl_l1_b1_t3.png b/gen/img/img_pl_l1_b1_t3.png index 105783e..c987ce4 100644 Binary files a/gen/img/img_pl_l1_b1_t3.png and b/gen/img/img_pl_l1_b1_t3.png differ diff --git a/gen/img/img_pl_l1_b1_t4.png b/gen/img/img_pl_l1_b1_t4.png index 54fd9fe..90e19fc 100644 Binary files a/gen/img/img_pl_l1_b1_t4.png and b/gen/img/img_pl_l1_b1_t4.png differ diff --git a/gen/img/img_pl_l1_b1_t5.png b/gen/img/img_pl_l1_b1_t5.png index 1f1a272..b6ec68b 100644 Binary files a/gen/img/img_pl_l1_b1_t5.png and b/gen/img/img_pl_l1_b1_t5.png differ diff --git a/gen/img/img_pl_l1_b1_t6.png b/gen/img/img_pl_l1_b1_t6.png index 93a8a71..baadde1 100644 Binary files a/gen/img/img_pl_l1_b1_t6.png and b/gen/img/img_pl_l1_b1_t6.png differ diff --git a/gen/img/img_pl_l1_b1_t7.png b/gen/img/img_pl_l1_b1_t7.png index 0198c90..f9434fa 100644 Binary files a/gen/img/img_pl_l1_b1_t7.png and b/gen/img/img_pl_l1_b1_t7.png differ diff --git a/gen/img/img_pl_l1_b2_t1.png b/gen/img/img_pl_l1_b2_t1.png index d8dbe40..59c86a4 100644 Binary files a/gen/img/img_pl_l1_b2_t1.png and b/gen/img/img_pl_l1_b2_t1.png differ diff --git a/gen/img/img_pl_l1_b2_t2.png b/gen/img/img_pl_l1_b2_t2.png index 33c4c49..5e2536e 100644 Binary files a/gen/img/img_pl_l1_b2_t2.png and b/gen/img/img_pl_l1_b2_t2.png differ diff --git a/gen/img/img_pl_l1_b2_t3.png b/gen/img/img_pl_l1_b2_t3.png index 9517716..1bdb618 100644 Binary files a/gen/img/img_pl_l1_b2_t3.png and b/gen/img/img_pl_l1_b2_t3.png differ diff --git a/gen/img/img_pl_l1_b2_t4.png b/gen/img/img_pl_l1_b2_t4.png index d12a58f..aba435d 100644 Binary files a/gen/img/img_pl_l1_b2_t4.png and b/gen/img/img_pl_l1_b2_t4.png differ diff --git a/gen/img/img_pl_l1_b2_t5.png b/gen/img/img_pl_l1_b2_t5.png index f08ddc0..c235b4e 100644 Binary files a/gen/img/img_pl_l1_b2_t5.png and b/gen/img/img_pl_l1_b2_t5.png differ diff --git a/gen/img/img_pl_l1_b3_t1.png b/gen/img/img_pl_l1_b3_t1.png index 97ad7a2..005ab23 100644 Binary files a/gen/img/img_pl_l1_b3_t1.png and b/gen/img/img_pl_l1_b3_t1.png differ diff --git a/gen/img/img_pl_l1_b3_t1b.png b/gen/img/img_pl_l1_b3_t1b.png deleted file mode 100644 index 3a8274d..0000000 Binary files a/gen/img/img_pl_l1_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l1_b3_t2.png b/gen/img/img_pl_l1_b3_t2.png index 4ba9ca3..fe21caa 100644 Binary files a/gen/img/img_pl_l1_b3_t2.png and b/gen/img/img_pl_l1_b3_t2.png differ diff --git a/gen/img/img_pl_l1_b3_t2b.png b/gen/img/img_pl_l1_b3_t2b.png deleted file mode 100644 index 21f245f..0000000 Binary files a/gen/img/img_pl_l1_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l1_b3_t3.png b/gen/img/img_pl_l1_b3_t3.png index 0ca6a8b..abf0f0e 100644 Binary files a/gen/img/img_pl_l1_b3_t3.png and b/gen/img/img_pl_l1_b3_t3.png differ diff --git a/gen/img/img_pl_l1_b3_t3b.png b/gen/img/img_pl_l1_b3_t3b.png deleted file mode 100644 index 2d4efb7..0000000 Binary files a/gen/img/img_pl_l1_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l1_b3_t4.png b/gen/img/img_pl_l1_b3_t4.png index 07d361f..450f9f7 100644 Binary files a/gen/img/img_pl_l1_b3_t4.png and b/gen/img/img_pl_l1_b3_t4.png differ diff --git a/gen/img/img_pl_l1_b3_t4b.png b/gen/img/img_pl_l1_b3_t4b.png deleted file mode 100644 index f9a9918..0000000 Binary files a/gen/img/img_pl_l1_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l2_b1_t1.png b/gen/img/img_pl_l2_b1_t1.png index 5ae608c..47b9d0a 100644 Binary files a/gen/img/img_pl_l2_b1_t1.png and b/gen/img/img_pl_l2_b1_t1.png differ diff --git a/gen/img/img_pl_l2_b1_t2.png b/gen/img/img_pl_l2_b1_t2.png index 9a29c61..f3f32fb 100644 Binary files a/gen/img/img_pl_l2_b1_t2.png and b/gen/img/img_pl_l2_b1_t2.png differ diff --git a/gen/img/img_pl_l2_b1_t3.png b/gen/img/img_pl_l2_b1_t3.png index fcbed4d..231e136 100644 Binary files a/gen/img/img_pl_l2_b1_t3.png and b/gen/img/img_pl_l2_b1_t3.png differ diff --git a/gen/img/img_pl_l2_b1_t4.png b/gen/img/img_pl_l2_b1_t4.png index fb1deb1..132e88d 100644 Binary files a/gen/img/img_pl_l2_b1_t4.png and b/gen/img/img_pl_l2_b1_t4.png differ diff --git a/gen/img/img_pl_l2_b1_t5.png b/gen/img/img_pl_l2_b1_t5.png index b25715a..035be1e 100644 Binary files a/gen/img/img_pl_l2_b1_t5.png and b/gen/img/img_pl_l2_b1_t5.png differ diff --git a/gen/img/img_pl_l2_b1_t6.png b/gen/img/img_pl_l2_b1_t6.png index a909262..854ebe4 100644 Binary files a/gen/img/img_pl_l2_b1_t6.png and b/gen/img/img_pl_l2_b1_t6.png differ diff --git a/gen/img/img_pl_l2_b1_t7.png b/gen/img/img_pl_l2_b1_t7.png index 35b4fd8..7a253a7 100644 Binary files a/gen/img/img_pl_l2_b1_t7.png and b/gen/img/img_pl_l2_b1_t7.png differ diff --git a/gen/img/img_pl_l2_b2_t1.png b/gen/img/img_pl_l2_b2_t1.png index 29e4657..08e0403 100644 Binary files a/gen/img/img_pl_l2_b2_t1.png and b/gen/img/img_pl_l2_b2_t1.png differ diff --git a/gen/img/img_pl_l2_b2_t2.png b/gen/img/img_pl_l2_b2_t2.png index 4ba2f27..de203f9 100644 Binary files a/gen/img/img_pl_l2_b2_t2.png and b/gen/img/img_pl_l2_b2_t2.png differ diff --git a/gen/img/img_pl_l2_b2_t3.png b/gen/img/img_pl_l2_b2_t3.png index b211a82..41a412f 100644 Binary files a/gen/img/img_pl_l2_b2_t3.png and b/gen/img/img_pl_l2_b2_t3.png differ diff --git a/gen/img/img_pl_l2_b2_t4.png b/gen/img/img_pl_l2_b2_t4.png index e86500e..db796e7 100644 Binary files a/gen/img/img_pl_l2_b2_t4.png and b/gen/img/img_pl_l2_b2_t4.png differ diff --git a/gen/img/img_pl_l2_b2_t5.png b/gen/img/img_pl_l2_b2_t5.png index c7882d7..47e02d5 100644 Binary files a/gen/img/img_pl_l2_b2_t5.png and b/gen/img/img_pl_l2_b2_t5.png differ diff --git a/gen/img/img_pl_l2_b3_t1.png b/gen/img/img_pl_l2_b3_t1.png index d33207f..12346e1 100644 Binary files a/gen/img/img_pl_l2_b3_t1.png and b/gen/img/img_pl_l2_b3_t1.png differ diff --git a/gen/img/img_pl_l2_b3_t1b.png b/gen/img/img_pl_l2_b3_t1b.png deleted file mode 100644 index 6c40b58..0000000 Binary files a/gen/img/img_pl_l2_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l2_b3_t2.png b/gen/img/img_pl_l2_b3_t2.png index 392771d..2e5d397 100644 Binary files a/gen/img/img_pl_l2_b3_t2.png and b/gen/img/img_pl_l2_b3_t2.png differ diff --git a/gen/img/img_pl_l2_b3_t2b.png b/gen/img/img_pl_l2_b3_t2b.png deleted file mode 100644 index 72ab681..0000000 Binary files a/gen/img/img_pl_l2_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l2_b3_t3.png b/gen/img/img_pl_l2_b3_t3.png index 199b4b8..1ed4580 100644 Binary files a/gen/img/img_pl_l2_b3_t3.png and b/gen/img/img_pl_l2_b3_t3.png differ diff --git a/gen/img/img_pl_l2_b3_t3b.png b/gen/img/img_pl_l2_b3_t3b.png deleted file mode 100644 index 03a9786..0000000 Binary files a/gen/img/img_pl_l2_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l2_b3_t4.png b/gen/img/img_pl_l2_b3_t4.png index fd6fc44..3738af0 100644 Binary files a/gen/img/img_pl_l2_b3_t4.png and b/gen/img/img_pl_l2_b3_t4.png differ diff --git a/gen/img/img_pl_l2_b3_t4b.png b/gen/img/img_pl_l2_b3_t4b.png deleted file mode 100644 index f823131..0000000 Binary files a/gen/img/img_pl_l2_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l3_b1_t1.png b/gen/img/img_pl_l3_b1_t1.png index aeb7888..964e052 100644 Binary files a/gen/img/img_pl_l3_b1_t1.png and b/gen/img/img_pl_l3_b1_t1.png differ diff --git a/gen/img/img_pl_l3_b1_t2.png b/gen/img/img_pl_l3_b1_t2.png index aa16630..078c23d 100644 Binary files a/gen/img/img_pl_l3_b1_t2.png and b/gen/img/img_pl_l3_b1_t2.png differ diff --git a/gen/img/img_pl_l3_b1_t3.png b/gen/img/img_pl_l3_b1_t3.png index 51f4001..7a8c700 100644 Binary files a/gen/img/img_pl_l3_b1_t3.png and b/gen/img/img_pl_l3_b1_t3.png differ diff --git a/gen/img/img_pl_l3_b1_t4.png b/gen/img/img_pl_l3_b1_t4.png index 55b69d0..72a13c3 100644 Binary files a/gen/img/img_pl_l3_b1_t4.png and b/gen/img/img_pl_l3_b1_t4.png differ diff --git a/gen/img/img_pl_l3_b1_t5.png b/gen/img/img_pl_l3_b1_t5.png index fda8c85..1be6c34 100644 Binary files a/gen/img/img_pl_l3_b1_t5.png and b/gen/img/img_pl_l3_b1_t5.png differ diff --git a/gen/img/img_pl_l3_b1_t6.png b/gen/img/img_pl_l3_b1_t6.png index 4f8de62..ad5b0ac 100644 Binary files a/gen/img/img_pl_l3_b1_t6.png and b/gen/img/img_pl_l3_b1_t6.png differ diff --git a/gen/img/img_pl_l3_b1_t7.png b/gen/img/img_pl_l3_b1_t7.png index 08aa2ba..d726581 100644 Binary files a/gen/img/img_pl_l3_b1_t7.png and b/gen/img/img_pl_l3_b1_t7.png differ diff --git a/gen/img/img_pl_l3_b2_t1.png b/gen/img/img_pl_l3_b2_t1.png index 6c5b96d..e552a3f 100644 Binary files a/gen/img/img_pl_l3_b2_t1.png and b/gen/img/img_pl_l3_b2_t1.png differ diff --git a/gen/img/img_pl_l3_b2_t2.png b/gen/img/img_pl_l3_b2_t2.png index 66c600e..a57e914 100644 Binary files a/gen/img/img_pl_l3_b2_t2.png and b/gen/img/img_pl_l3_b2_t2.png differ diff --git a/gen/img/img_pl_l3_b2_t3.png b/gen/img/img_pl_l3_b2_t3.png index b4d2b22..9f91012 100644 Binary files a/gen/img/img_pl_l3_b2_t3.png and b/gen/img/img_pl_l3_b2_t3.png differ diff --git a/gen/img/img_pl_l3_b2_t4.png b/gen/img/img_pl_l3_b2_t4.png index a2bb16f..2ffcde2 100644 Binary files a/gen/img/img_pl_l3_b2_t4.png and b/gen/img/img_pl_l3_b2_t4.png differ diff --git a/gen/img/img_pl_l3_b2_t5.png b/gen/img/img_pl_l3_b2_t5.png index a8ea2ce..626d186 100644 Binary files a/gen/img/img_pl_l3_b2_t5.png and b/gen/img/img_pl_l3_b2_t5.png differ diff --git a/gen/img/img_pl_l3_b3_t1.png b/gen/img/img_pl_l3_b3_t1.png index 9cbb51b..2a15c1e 100644 Binary files a/gen/img/img_pl_l3_b3_t1.png and b/gen/img/img_pl_l3_b3_t1.png differ diff --git a/gen/img/img_pl_l3_b3_t1b.png b/gen/img/img_pl_l3_b3_t1b.png deleted file mode 100644 index 05cae2b..0000000 Binary files a/gen/img/img_pl_l3_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l3_b3_t2.png b/gen/img/img_pl_l3_b3_t2.png index b6cc807..acd6a4b 100644 Binary files a/gen/img/img_pl_l3_b3_t2.png and b/gen/img/img_pl_l3_b3_t2.png differ diff --git a/gen/img/img_pl_l3_b3_t2b.png b/gen/img/img_pl_l3_b3_t2b.png deleted file mode 100644 index 7498065..0000000 Binary files a/gen/img/img_pl_l3_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l3_b3_t3.png b/gen/img/img_pl_l3_b3_t3.png index aec2d70..708f0ce 100644 Binary files a/gen/img/img_pl_l3_b3_t3.png and b/gen/img/img_pl_l3_b3_t3.png differ diff --git a/gen/img/img_pl_l3_b3_t3b.png b/gen/img/img_pl_l3_b3_t3b.png deleted file mode 100644 index e644e95..0000000 Binary files a/gen/img/img_pl_l3_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l3_b3_t4.png b/gen/img/img_pl_l3_b3_t4.png index 2863d04..4e8e4b0 100644 Binary files a/gen/img/img_pl_l3_b3_t4.png and b/gen/img/img_pl_l3_b3_t4.png differ diff --git a/gen/img/img_pl_l3_b3_t4b.png b/gen/img/img_pl_l3_b3_t4b.png deleted file mode 100644 index ca89ef0..0000000 Binary files a/gen/img/img_pl_l3_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l4_b1_t1.png b/gen/img/img_pl_l4_b1_t1.png index 4cdf50c..bba3973 100644 Binary files a/gen/img/img_pl_l4_b1_t1.png and b/gen/img/img_pl_l4_b1_t1.png differ diff --git a/gen/img/img_pl_l4_b1_t2.png b/gen/img/img_pl_l4_b1_t2.png index ed6c82c..807a578 100644 Binary files a/gen/img/img_pl_l4_b1_t2.png and b/gen/img/img_pl_l4_b1_t2.png differ diff --git a/gen/img/img_pl_l4_b1_t3.png b/gen/img/img_pl_l4_b1_t3.png index 3a07887..c8f2ef3 100644 Binary files a/gen/img/img_pl_l4_b1_t3.png and b/gen/img/img_pl_l4_b1_t3.png differ diff --git a/gen/img/img_pl_l4_b1_t4.png b/gen/img/img_pl_l4_b1_t4.png index 2084fd5..4ff8bd7 100644 Binary files a/gen/img/img_pl_l4_b1_t4.png and b/gen/img/img_pl_l4_b1_t4.png differ diff --git a/gen/img/img_pl_l4_b1_t5.png b/gen/img/img_pl_l4_b1_t5.png index e2615b3..d6ca3e1 100644 Binary files a/gen/img/img_pl_l4_b1_t5.png and b/gen/img/img_pl_l4_b1_t5.png differ diff --git a/gen/img/img_pl_l4_b1_t6.png b/gen/img/img_pl_l4_b1_t6.png index 3aa9212..690fb04 100644 Binary files a/gen/img/img_pl_l4_b1_t6.png and b/gen/img/img_pl_l4_b1_t6.png differ diff --git a/gen/img/img_pl_l4_b1_t7.png b/gen/img/img_pl_l4_b1_t7.png index d496edd..c6d4e69 100644 Binary files a/gen/img/img_pl_l4_b1_t7.png and b/gen/img/img_pl_l4_b1_t7.png differ diff --git a/gen/img/img_pl_l4_b2_t1.png b/gen/img/img_pl_l4_b2_t1.png index e577f5b..0fe5a50 100644 Binary files a/gen/img/img_pl_l4_b2_t1.png and b/gen/img/img_pl_l4_b2_t1.png differ diff --git a/gen/img/img_pl_l4_b2_t2.png b/gen/img/img_pl_l4_b2_t2.png index 6ae5bdb..b725983 100644 Binary files a/gen/img/img_pl_l4_b2_t2.png and b/gen/img/img_pl_l4_b2_t2.png differ diff --git a/gen/img/img_pl_l4_b2_t3.png b/gen/img/img_pl_l4_b2_t3.png index 9a7ae74..bb377f6 100644 Binary files a/gen/img/img_pl_l4_b2_t3.png and b/gen/img/img_pl_l4_b2_t3.png differ diff --git a/gen/img/img_pl_l4_b2_t4.png b/gen/img/img_pl_l4_b2_t4.png index 9148377..9435e17 100644 Binary files a/gen/img/img_pl_l4_b2_t4.png and b/gen/img/img_pl_l4_b2_t4.png differ diff --git a/gen/img/img_pl_l4_b2_t5.png b/gen/img/img_pl_l4_b2_t5.png index be20401..36377e6 100644 Binary files a/gen/img/img_pl_l4_b2_t5.png and b/gen/img/img_pl_l4_b2_t5.png differ diff --git a/gen/img/img_pl_l4_b3_t1.png b/gen/img/img_pl_l4_b3_t1.png index e2cd033..38d7134 100644 Binary files a/gen/img/img_pl_l4_b3_t1.png and b/gen/img/img_pl_l4_b3_t1.png differ diff --git a/gen/img/img_pl_l4_b3_t1b.png b/gen/img/img_pl_l4_b3_t1b.png deleted file mode 100644 index 46c2101..0000000 Binary files a/gen/img/img_pl_l4_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l4_b3_t2.png b/gen/img/img_pl_l4_b3_t2.png index 2c38eed..6bac8fa 100644 Binary files a/gen/img/img_pl_l4_b3_t2.png and b/gen/img/img_pl_l4_b3_t2.png differ diff --git a/gen/img/img_pl_l4_b3_t2b.png b/gen/img/img_pl_l4_b3_t2b.png deleted file mode 100644 index 935bd44..0000000 Binary files a/gen/img/img_pl_l4_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l4_b3_t3.png b/gen/img/img_pl_l4_b3_t3.png index 9e714c7..820146c 100644 Binary files a/gen/img/img_pl_l4_b3_t3.png and b/gen/img/img_pl_l4_b3_t3.png differ diff --git a/gen/img/img_pl_l4_b3_t3b.png b/gen/img/img_pl_l4_b3_t3b.png deleted file mode 100644 index 46d172e..0000000 Binary files a/gen/img/img_pl_l4_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l4_b3_t4.png b/gen/img/img_pl_l4_b3_t4.png index 37dda8b..a3f62f8 100644 Binary files a/gen/img/img_pl_l4_b3_t4.png and b/gen/img/img_pl_l4_b3_t4.png differ diff --git a/gen/img/img_pl_l4_b3_t4b.png b/gen/img/img_pl_l4_b3_t4b.png deleted file mode 100644 index 1ab9e25..0000000 Binary files a/gen/img/img_pl_l4_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l5_b1_t1.png b/gen/img/img_pl_l5_b1_t1.png index de7d156..363a495 100644 Binary files a/gen/img/img_pl_l5_b1_t1.png and b/gen/img/img_pl_l5_b1_t1.png differ diff --git a/gen/img/img_pl_l5_b1_t2.png b/gen/img/img_pl_l5_b1_t2.png index 6f6f7b4..7606785 100644 Binary files a/gen/img/img_pl_l5_b1_t2.png and b/gen/img/img_pl_l5_b1_t2.png differ diff --git a/gen/img/img_pl_l5_b1_t3.png b/gen/img/img_pl_l5_b1_t3.png index b866482..476d816 100644 Binary files a/gen/img/img_pl_l5_b1_t3.png and b/gen/img/img_pl_l5_b1_t3.png differ diff --git a/gen/img/img_pl_l5_b1_t4.png b/gen/img/img_pl_l5_b1_t4.png index e7a36e6..9d30abf 100644 Binary files a/gen/img/img_pl_l5_b1_t4.png and b/gen/img/img_pl_l5_b1_t4.png differ diff --git a/gen/img/img_pl_l5_b1_t5.png b/gen/img/img_pl_l5_b1_t5.png index 80d48b4..8f0261a 100644 Binary files a/gen/img/img_pl_l5_b1_t5.png and b/gen/img/img_pl_l5_b1_t5.png differ diff --git a/gen/img/img_pl_l5_b1_t6.png b/gen/img/img_pl_l5_b1_t6.png index 6bad887..f6487d6 100644 Binary files a/gen/img/img_pl_l5_b1_t6.png and b/gen/img/img_pl_l5_b1_t6.png differ diff --git a/gen/img/img_pl_l5_b1_t7.png b/gen/img/img_pl_l5_b1_t7.png index d73af3e..d6c277f 100644 Binary files a/gen/img/img_pl_l5_b1_t7.png and b/gen/img/img_pl_l5_b1_t7.png differ diff --git a/gen/img/img_pl_l5_b2_t1.png b/gen/img/img_pl_l5_b2_t1.png index 4d79ee5..806ec27 100644 Binary files a/gen/img/img_pl_l5_b2_t1.png and b/gen/img/img_pl_l5_b2_t1.png differ diff --git a/gen/img/img_pl_l5_b2_t2.png b/gen/img/img_pl_l5_b2_t2.png index 3ad0436..9802173 100644 Binary files a/gen/img/img_pl_l5_b2_t2.png and b/gen/img/img_pl_l5_b2_t2.png differ diff --git a/gen/img/img_pl_l5_b2_t3.png b/gen/img/img_pl_l5_b2_t3.png index bf68de8..75d55e6 100644 Binary files a/gen/img/img_pl_l5_b2_t3.png and b/gen/img/img_pl_l5_b2_t3.png differ diff --git a/gen/img/img_pl_l5_b2_t4.png b/gen/img/img_pl_l5_b2_t4.png index 5292d11..03b880d 100644 Binary files a/gen/img/img_pl_l5_b2_t4.png and b/gen/img/img_pl_l5_b2_t4.png differ diff --git a/gen/img/img_pl_l5_b2_t5.png b/gen/img/img_pl_l5_b2_t5.png index 4e60122..cc5c729 100644 Binary files a/gen/img/img_pl_l5_b2_t5.png and b/gen/img/img_pl_l5_b2_t5.png differ diff --git a/gen/img/img_pl_l5_b3_t1.png b/gen/img/img_pl_l5_b3_t1.png index 44c45a4..1cfe652 100644 Binary files a/gen/img/img_pl_l5_b3_t1.png and b/gen/img/img_pl_l5_b3_t1.png differ diff --git a/gen/img/img_pl_l5_b3_t1b.png b/gen/img/img_pl_l5_b3_t1b.png deleted file mode 100644 index 336e98c..0000000 Binary files a/gen/img/img_pl_l5_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l5_b3_t2.png b/gen/img/img_pl_l5_b3_t2.png index 3813f39..40e3b6c 100644 Binary files a/gen/img/img_pl_l5_b3_t2.png and b/gen/img/img_pl_l5_b3_t2.png differ diff --git a/gen/img/img_pl_l5_b3_t2b.png b/gen/img/img_pl_l5_b3_t2b.png deleted file mode 100644 index 6ffa1a2..0000000 Binary files a/gen/img/img_pl_l5_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l5_b3_t3.png b/gen/img/img_pl_l5_b3_t3.png index 9ea58e8..05f67f0 100644 Binary files a/gen/img/img_pl_l5_b3_t3.png and b/gen/img/img_pl_l5_b3_t3.png differ diff --git a/gen/img/img_pl_l5_b3_t3b.png b/gen/img/img_pl_l5_b3_t3b.png deleted file mode 100644 index bb264ae..0000000 Binary files a/gen/img/img_pl_l5_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l5_b3_t4.png b/gen/img/img_pl_l5_b3_t4.png index 001e30c..d317235 100644 Binary files a/gen/img/img_pl_l5_b3_t4.png and b/gen/img/img_pl_l5_b3_t4.png differ diff --git a/gen/img/img_pl_l5_b3_t4b.png b/gen/img/img_pl_l5_b3_t4b.png deleted file mode 100644 index 2f809e1..0000000 Binary files a/gen/img/img_pl_l5_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l6_b1_t1.png b/gen/img/img_pl_l6_b1_t1.png index 0fa6f08..b20d00f 100644 Binary files a/gen/img/img_pl_l6_b1_t1.png and b/gen/img/img_pl_l6_b1_t1.png differ diff --git a/gen/img/img_pl_l6_b1_t2.png b/gen/img/img_pl_l6_b1_t2.png index 5630a6a..129bc12 100644 Binary files a/gen/img/img_pl_l6_b1_t2.png and b/gen/img/img_pl_l6_b1_t2.png differ diff --git a/gen/img/img_pl_l6_b1_t3.png b/gen/img/img_pl_l6_b1_t3.png index fbf3b2f..b45f453 100644 Binary files a/gen/img/img_pl_l6_b1_t3.png and b/gen/img/img_pl_l6_b1_t3.png differ diff --git a/gen/img/img_pl_l6_b1_t4.png b/gen/img/img_pl_l6_b1_t4.png index c9f8276..ca3e1b5 100644 Binary files a/gen/img/img_pl_l6_b1_t4.png and b/gen/img/img_pl_l6_b1_t4.png differ diff --git a/gen/img/img_pl_l6_b1_t5.png b/gen/img/img_pl_l6_b1_t5.png index 26bd4ff..dc9d8da 100644 Binary files a/gen/img/img_pl_l6_b1_t5.png and b/gen/img/img_pl_l6_b1_t5.png differ diff --git a/gen/img/img_pl_l6_b1_t6.png b/gen/img/img_pl_l6_b1_t6.png index 7756542..47021d1 100644 Binary files a/gen/img/img_pl_l6_b1_t6.png and b/gen/img/img_pl_l6_b1_t6.png differ diff --git a/gen/img/img_pl_l6_b1_t7.png b/gen/img/img_pl_l6_b1_t7.png index 907faac..6a95a38 100644 Binary files a/gen/img/img_pl_l6_b1_t7.png and b/gen/img/img_pl_l6_b1_t7.png differ diff --git a/gen/img/img_pl_l6_b2_t1.png b/gen/img/img_pl_l6_b2_t1.png index a679524..defe4d6 100644 Binary files a/gen/img/img_pl_l6_b2_t1.png and b/gen/img/img_pl_l6_b2_t1.png differ diff --git a/gen/img/img_pl_l6_b2_t2.png b/gen/img/img_pl_l6_b2_t2.png index 5e6dffd..203398a 100644 Binary files a/gen/img/img_pl_l6_b2_t2.png and b/gen/img/img_pl_l6_b2_t2.png differ diff --git a/gen/img/img_pl_l6_b2_t3.png b/gen/img/img_pl_l6_b2_t3.png index 9d51ae6..f41fbf8 100644 Binary files a/gen/img/img_pl_l6_b2_t3.png and b/gen/img/img_pl_l6_b2_t3.png differ diff --git a/gen/img/img_pl_l6_b2_t4.png b/gen/img/img_pl_l6_b2_t4.png index 293fbc6..8ec4fe2 100644 Binary files a/gen/img/img_pl_l6_b2_t4.png and b/gen/img/img_pl_l6_b2_t4.png differ diff --git a/gen/img/img_pl_l6_b2_t5.png b/gen/img/img_pl_l6_b2_t5.png index aef1b26..d4d8239 100644 Binary files a/gen/img/img_pl_l6_b2_t5.png and b/gen/img/img_pl_l6_b2_t5.png differ diff --git a/gen/img/img_pl_l6_b3_t1.png b/gen/img/img_pl_l6_b3_t1.png index b2b7c35..9b80958 100644 Binary files a/gen/img/img_pl_l6_b3_t1.png and b/gen/img/img_pl_l6_b3_t1.png differ diff --git a/gen/img/img_pl_l6_b3_t1b.png b/gen/img/img_pl_l6_b3_t1b.png deleted file mode 100644 index 4f4ac76..0000000 Binary files a/gen/img/img_pl_l6_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l6_b3_t2.png b/gen/img/img_pl_l6_b3_t2.png index d06b12d..40781ec 100644 Binary files a/gen/img/img_pl_l6_b3_t2.png and b/gen/img/img_pl_l6_b3_t2.png differ diff --git a/gen/img/img_pl_l6_b3_t2b.png b/gen/img/img_pl_l6_b3_t2b.png deleted file mode 100644 index 1042475..0000000 Binary files a/gen/img/img_pl_l6_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l6_b3_t3.png b/gen/img/img_pl_l6_b3_t3.png index 94440ca..8d74baf 100644 Binary files a/gen/img/img_pl_l6_b3_t3.png and b/gen/img/img_pl_l6_b3_t3.png differ diff --git a/gen/img/img_pl_l6_b3_t3b.png b/gen/img/img_pl_l6_b3_t3b.png deleted file mode 100644 index 4b55dc2..0000000 Binary files a/gen/img/img_pl_l6_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l6_b3_t4.png b/gen/img/img_pl_l6_b3_t4.png index f1a57a1..1bd6b41 100644 Binary files a/gen/img/img_pl_l6_b3_t4.png and b/gen/img/img_pl_l6_b3_t4.png differ diff --git a/gen/img/img_pl_l6_b3_t4b.png b/gen/img/img_pl_l6_b3_t4b.png deleted file mode 100644 index 8cc0610..0000000 Binary files a/gen/img/img_pl_l6_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l7_b1_t1.png b/gen/img/img_pl_l7_b1_t1.png index c6e5e45..ff1844b 100644 Binary files a/gen/img/img_pl_l7_b1_t1.png and b/gen/img/img_pl_l7_b1_t1.png differ diff --git a/gen/img/img_pl_l7_b1_t2.png b/gen/img/img_pl_l7_b1_t2.png index 404aa1c..c92d1e9 100644 Binary files a/gen/img/img_pl_l7_b1_t2.png and b/gen/img/img_pl_l7_b1_t2.png differ diff --git a/gen/img/img_pl_l7_b1_t3.png b/gen/img/img_pl_l7_b1_t3.png index d98f9bd..df8e1db 100644 Binary files a/gen/img/img_pl_l7_b1_t3.png and b/gen/img/img_pl_l7_b1_t3.png differ diff --git a/gen/img/img_pl_l7_b1_t4.png b/gen/img/img_pl_l7_b1_t4.png index 68e64e8..c6ece6a 100644 Binary files a/gen/img/img_pl_l7_b1_t4.png and b/gen/img/img_pl_l7_b1_t4.png differ diff --git a/gen/img/img_pl_l7_b1_t5.png b/gen/img/img_pl_l7_b1_t5.png index 9ed7e5b..5921580 100644 Binary files a/gen/img/img_pl_l7_b1_t5.png and b/gen/img/img_pl_l7_b1_t5.png differ diff --git a/gen/img/img_pl_l7_b1_t6.png b/gen/img/img_pl_l7_b1_t6.png index 6d6cf36..d24c00d 100644 Binary files a/gen/img/img_pl_l7_b1_t6.png and b/gen/img/img_pl_l7_b1_t6.png differ diff --git a/gen/img/img_pl_l7_b1_t7.png b/gen/img/img_pl_l7_b1_t7.png index 7b7831c..7efd5ab 100644 Binary files a/gen/img/img_pl_l7_b1_t7.png and b/gen/img/img_pl_l7_b1_t7.png differ diff --git a/gen/img/img_pl_l7_b2_t1.png b/gen/img/img_pl_l7_b2_t1.png index d7518a3..afa2185 100644 Binary files a/gen/img/img_pl_l7_b2_t1.png and b/gen/img/img_pl_l7_b2_t1.png differ diff --git a/gen/img/img_pl_l7_b2_t2.png b/gen/img/img_pl_l7_b2_t2.png index 36266e9..716d417 100644 Binary files a/gen/img/img_pl_l7_b2_t2.png and b/gen/img/img_pl_l7_b2_t2.png differ diff --git a/gen/img/img_pl_l7_b2_t3.png b/gen/img/img_pl_l7_b2_t3.png index e6d6937..0738796 100644 Binary files a/gen/img/img_pl_l7_b2_t3.png and b/gen/img/img_pl_l7_b2_t3.png differ diff --git a/gen/img/img_pl_l7_b2_t4.png b/gen/img/img_pl_l7_b2_t4.png index 10cec0b..16d34d2 100644 Binary files a/gen/img/img_pl_l7_b2_t4.png and b/gen/img/img_pl_l7_b2_t4.png differ diff --git a/gen/img/img_pl_l7_b2_t5.png b/gen/img/img_pl_l7_b2_t5.png index 3c591ab..2bf6275 100644 Binary files a/gen/img/img_pl_l7_b2_t5.png and b/gen/img/img_pl_l7_b2_t5.png differ diff --git a/gen/img/img_pl_l7_b3_t1.png b/gen/img/img_pl_l7_b3_t1.png index 0ce1a81..854ab56 100644 Binary files a/gen/img/img_pl_l7_b3_t1.png and b/gen/img/img_pl_l7_b3_t1.png differ diff --git a/gen/img/img_pl_l7_b3_t1b.png b/gen/img/img_pl_l7_b3_t1b.png deleted file mode 100644 index fa3fd08..0000000 Binary files a/gen/img/img_pl_l7_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l7_b3_t2.png b/gen/img/img_pl_l7_b3_t2.png index 9705fbb..7ba2c35 100644 Binary files a/gen/img/img_pl_l7_b3_t2.png and b/gen/img/img_pl_l7_b3_t2.png differ diff --git a/gen/img/img_pl_l7_b3_t2b.png b/gen/img/img_pl_l7_b3_t2b.png deleted file mode 100644 index 756b1e8..0000000 Binary files a/gen/img/img_pl_l7_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l7_b3_t3.png b/gen/img/img_pl_l7_b3_t3.png index 5b73fbf..8fe7a3c 100644 Binary files a/gen/img/img_pl_l7_b3_t3.png and b/gen/img/img_pl_l7_b3_t3.png differ diff --git a/gen/img/img_pl_l7_b3_t3b.png b/gen/img/img_pl_l7_b3_t3b.png deleted file mode 100644 index 22afb9c..0000000 Binary files a/gen/img/img_pl_l7_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l7_b3_t4.png b/gen/img/img_pl_l7_b3_t4.png index e200950..efef783 100644 Binary files a/gen/img/img_pl_l7_b3_t4.png and b/gen/img/img_pl_l7_b3_t4.png differ diff --git a/gen/img/img_pl_l7_b3_t4b.png b/gen/img/img_pl_l7_b3_t4b.png deleted file mode 100644 index c3b6511..0000000 Binary files a/gen/img/img_pl_l7_b3_t4b.png and /dev/null differ diff --git a/gen/img/img_pl_l8_b1_t1.png b/gen/img/img_pl_l8_b1_t1.png index 74faca1..d38cc2d 100644 Binary files a/gen/img/img_pl_l8_b1_t1.png and b/gen/img/img_pl_l8_b1_t1.png differ diff --git a/gen/img/img_pl_l8_b1_t2.png b/gen/img/img_pl_l8_b1_t2.png index a90a9da..f92906b 100644 Binary files a/gen/img/img_pl_l8_b1_t2.png and b/gen/img/img_pl_l8_b1_t2.png differ diff --git a/gen/img/img_pl_l8_b1_t3.png b/gen/img/img_pl_l8_b1_t3.png index 21d405a..ebb5e06 100644 Binary files a/gen/img/img_pl_l8_b1_t3.png and b/gen/img/img_pl_l8_b1_t3.png differ diff --git a/gen/img/img_pl_l8_b1_t4.png b/gen/img/img_pl_l8_b1_t4.png index 3293686..17b7199 100644 Binary files a/gen/img/img_pl_l8_b1_t4.png and b/gen/img/img_pl_l8_b1_t4.png differ diff --git a/gen/img/img_pl_l8_b1_t5.png b/gen/img/img_pl_l8_b1_t5.png index e38c9ff..fe07a73 100644 Binary files a/gen/img/img_pl_l8_b1_t5.png and b/gen/img/img_pl_l8_b1_t5.png differ diff --git a/gen/img/img_pl_l8_b1_t6.png b/gen/img/img_pl_l8_b1_t6.png index 7281ea5..24eeba7 100644 Binary files a/gen/img/img_pl_l8_b1_t6.png and b/gen/img/img_pl_l8_b1_t6.png differ diff --git a/gen/img/img_pl_l8_b1_t7.png b/gen/img/img_pl_l8_b1_t7.png index ce81a9a..cd1cf0c 100644 Binary files a/gen/img/img_pl_l8_b1_t7.png and b/gen/img/img_pl_l8_b1_t7.png differ diff --git a/gen/img/img_pl_l8_b2_t1.png b/gen/img/img_pl_l8_b2_t1.png index 855ed55..717e00b 100644 Binary files a/gen/img/img_pl_l8_b2_t1.png and b/gen/img/img_pl_l8_b2_t1.png differ diff --git a/gen/img/img_pl_l8_b2_t2.png b/gen/img/img_pl_l8_b2_t2.png index 69a8cb6..e7449a3 100644 Binary files a/gen/img/img_pl_l8_b2_t2.png and b/gen/img/img_pl_l8_b2_t2.png differ diff --git a/gen/img/img_pl_l8_b2_t3.png b/gen/img/img_pl_l8_b2_t3.png index 5ae720b..55751df 100644 Binary files a/gen/img/img_pl_l8_b2_t3.png and b/gen/img/img_pl_l8_b2_t3.png differ diff --git a/gen/img/img_pl_l8_b2_t4.png b/gen/img/img_pl_l8_b2_t4.png index 378a506..cc4f020 100644 Binary files a/gen/img/img_pl_l8_b2_t4.png and b/gen/img/img_pl_l8_b2_t4.png differ diff --git a/gen/img/img_pl_l8_b2_t5.png b/gen/img/img_pl_l8_b2_t5.png index 168aa0c..90f75ee 100644 Binary files a/gen/img/img_pl_l8_b2_t5.png and b/gen/img/img_pl_l8_b2_t5.png differ diff --git a/gen/img/img_pl_l8_b3_t1.png b/gen/img/img_pl_l8_b3_t1.png index e7cb37b..506f534 100644 Binary files a/gen/img/img_pl_l8_b3_t1.png and b/gen/img/img_pl_l8_b3_t1.png differ diff --git a/gen/img/img_pl_l8_b3_t1b.png b/gen/img/img_pl_l8_b3_t1b.png deleted file mode 100644 index 9367fd5..0000000 Binary files a/gen/img/img_pl_l8_b3_t1b.png and /dev/null differ diff --git a/gen/img/img_pl_l8_b3_t2.png b/gen/img/img_pl_l8_b3_t2.png index 2fbfbc0..19bdf10 100644 Binary files a/gen/img/img_pl_l8_b3_t2.png and b/gen/img/img_pl_l8_b3_t2.png differ diff --git a/gen/img/img_pl_l8_b3_t2b.png b/gen/img/img_pl_l8_b3_t2b.png deleted file mode 100644 index f7315ee..0000000 Binary files a/gen/img/img_pl_l8_b3_t2b.png and /dev/null differ diff --git a/gen/img/img_pl_l8_b3_t3.png b/gen/img/img_pl_l8_b3_t3.png index 96cdbeb..4e86045 100644 Binary files a/gen/img/img_pl_l8_b3_t3.png and b/gen/img/img_pl_l8_b3_t3.png differ diff --git a/gen/img/img_pl_l8_b3_t3b.png b/gen/img/img_pl_l8_b3_t3b.png deleted file mode 100644 index 21c3e2a..0000000 Binary files a/gen/img/img_pl_l8_b3_t3b.png and /dev/null differ diff --git a/gen/img/img_pl_l8_b3_t4.png b/gen/img/img_pl_l8_b3_t4.png index 922f64b..7587367 100644 Binary files a/gen/img/img_pl_l8_b3_t4.png and b/gen/img/img_pl_l8_b3_t4.png differ diff --git a/gen/img/img_pl_l8_b3_t4b.png b/gen/img/img_pl_l8_b3_t4b.png deleted file mode 100644 index 6d09105..0000000 Binary files a/gen/img/img_pl_l8_b3_t4b.png and /dev/null differ diff --git a/results.Rmd b/results.Rmd index 40cfd61..48e6aea 100644 --- a/results.Rmd +++ b/results.Rmd @@ -6,10 +6,14 @@ output: keep_md: yes --- -[![DOI](https://zenodo.org/badge/22705/andre-wojtowicz/blas-benchmarks.svg)](https://dx.doi.org/10.5281/zenodo.55662) - Document generation date: `r Sys.time()` +This document presents timing results for BLAS ([Basic Linear Algebra Subprograms](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms)) libraries in [R](https://en.wikipedia.org/wiki/R_(programming_language)) on diverse CPUs and GPUs. + +### Changelog + + * 2016-07-14: **results:** added Intel Core i5-6500; changed results view of gcbd benchmark to relative performance gain; changed reference CPU (Intel Pentium Dual-Core E5300) and GPU (NVIDIA GeForce GT 630M); **code:** fixed target architecture detection for Intel Core i5-6500-like CPUs in multi-threaded Atlas library; added info how to force target architecture in GotoBLAS2 and BLIS libraries. + ```{r checkpoint, echo=FALSE, warning=FALSE, message=FALSE} library(checkpoint) checkpoint("2016-04-01", scanForPackages=FALSE, verbose=FALSE) @@ -27,6 +31,7 @@ library(RColorBrewer) * [Intel Core i7-4790K + MSI GeForce GTX 980 Ti Lightning](#intel-core-i7-4790k--msi-geforce-gtx-980-ti-lightning) * [Intel Core i5-4590 + NVIDIA GeForce GT 430](#intel-core-i5-4590--nvidia-geforce-gt-430) * [Intel Core i5-4590 + NVIDIA GeForce GTX 750 Ti](#intel-core-i5-4590--nvidia-geforce-gtx-750-ti) + * [Intel Core i5-6500](#intel-core-i5-6500) * [Intel Core i5-3570](#intel-core-i5-3570) * [Intel Core i3-2120](#intel-core-i3-2120) * [Intel Core i3-3120M](#intel-core-i3-3120m) @@ -46,7 +51,7 @@ library(RColorBrewer) ## Configuration -**OS**: Debian Jessie, kernel 4.4 +**OS**: [Debian](https://www.debian.org/) Jessie, kernel 4.4 **R software**: [Microsoft R Open](https://mran.microsoft.com/open/) (3.2.4) @@ -67,11 +72,12 @@ library(RColorBrewer) |1.|[Intel Core i7-4790K](http://ark.intel.com/products/80807/Intel-Core-i7-4790K-Processor-8M-Cache-up-to-4_40-GHz) (OC 4.5 GHz)|[MSI GeForce GTX 980 Ti Lightning](https://us.msi.com/Graphics-card/GTX-980-Ti-LIGHTNING.html#hero-specification)| |2.|[Intel Core i5-4590](http://ark.intel.com/products/80815/Intel-Core-i5-4590-Processor-6M-Cache-up-to-3_70-GHz)|[NVIDIA GeForce GT 430](http://www.geforce.com/hardware/desktop-gpus/geforce-gt-430/specifications)| |3.|[Intel Core i5-4590](http://ark.intel.com/products/80815/Intel-Core-i5-4590-Processor-6M-Cache-up-to-3_70-GHz)|[NVIDIA GeForce GTX 750 Ti](http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-750-ti/specifications)| -|4.|[Intel Core i5-3570](http://ark.intel.com/products/65702/Intel-Core-i5-3570-Processor-6M-Cache-up-to-3_80-GHz)| - | -|5.|[Intel Core i3-2120](http://ark.intel.com/products/53426/Intel-Core-i3-2120-Processor-3M-Cache-3_30-GHz)| - | -|6.|[Intel Core i3-3120M](http://ark.intel.com/products/71465/Intel-Core-i3-3120M-Processor-3M-Cache-2_50-GHz)| - | -|7.|[Intel Core i5-3317U](http://ark.intel.com/products/65707/Intel-Core-i5-3317U-Processor-3M-Cache-up-to-2_60-GHz)|[NVIDIA GeForce GT 630M](http://www.geforce.com/hardware/notebook-gpus/geforce-gt-630m/specifications)| -|8.|[Intel Pentium Dual-Core E5300](http://ark.intel.com/products/35300/Intel-Pentium-Processor-E5300-2M-Cache-2_60-GHz-800-MHz-FSB)| - | +|4.|[Intel Core i5-6500](http://ark.intel.com/products/88184/Intel-Core-i5-6500-Processor-6M-Cache-up-to-3_60-GHz)| - | +|5.|[Intel Core i5-3570](http://ark.intel.com/products/65702/Intel-Core-i5-3570-Processor-6M-Cache-up-to-3_80-GHz)| - | +|6.|[Intel Core i3-2120](http://ark.intel.com/products/53426/Intel-Core-i3-2120-Processor-3M-Cache-3_30-GHz)| - | +|7.|[Intel Core i3-3120M](http://ark.intel.com/products/71465/Intel-Core-i3-3120M-Processor-3M-Cache-2_50-GHz)| - | +|8.|[Intel Core i5-3317U](http://ark.intel.com/products/65707/Intel-Core-i5-3317U-Processor-3M-Cache-up-to-2_60-GHz)|[NVIDIA GeForce GT 630M](http://www.geforce.com/hardware/notebook-gpus/geforce-gt-630m/specifications)| +|9.|[Intel Pentium Dual-Core E5300](http://ark.intel.com/products/35300/Intel-Pentium-Processor-E5300-2M-Cache-2_60-GHz-800-MHz-FSB)| - | **Benchmarks**: [R-benchmark-25](http://r.research.att.com/benchmarks/R-benchmark-25.R), [Revolution](https://gist.github.com/andrie/24c9672f1ea39af89c66#file-rro-mkl-benchmark-r), [Gcbd](https://cran.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf). @@ -92,12 +98,13 @@ LIBRARIES = c("netlib", "blis", "cublas") -LIBRARY.REF = "netlib" -HOST.REF = "Intel Core i3-3120M" -HOST.REF.GPU = "NVIDIA GeForce GT 430" +LIBRARY.REF = "netlib" +HOST.REF = "Intel Pentium Dual-Core E5300" +HOST.REF.SEC = "Intel Core i5-3317U" +HOST.REF.GPU = "NVIDIA GeForce GT 630M" HOST.INFO.PATTERN = "host-info-.log" -BENCHMKAR.PATTERN = "test---.rds" +BENCHMARK.PATTERN = "test---.rds" RESULTS.DIR = "results" GEN.DIR = "gen" @@ -153,7 +160,7 @@ for (host in hosts.info$Host) fp = file.path(RESULTS.DIR, gsub("", host, ( gsub("", lib, ( - gsub("", benchmark, BENCHMKAR.PATTERN))))) + gsub("", benchmark, BENCHMARK.PATTERN))))) ) if (file.exists(fp)) @@ -235,9 +242,9 @@ for (host in hosts.info$Host) filter(Host == host & Benchmark == benchmark & Test == test) - if (benchmark != "gcbd") - data.to.plot = data.to.plot %>% - mutate(PerfGain=data.to.plot[which(data.to.plot$Library==LIBRARY.REF), "Time"]/Time) + data.to.plot = data.to.plot %>% + mutate(Time=replace(Time, Time==0, 5e-05), + PerfGain=data.to.plot[which(data.to.plot$Library==LIBRARY.REF), "Time"]/Time) renamedLibs = list( "cuBLAS"="cublas", @@ -286,9 +293,10 @@ for (host in hosts.info$Host) "_t", i, ".png")) - - cat(paste0("Time in seconds ", ifelse(benchmark=="gcbd", "regarding matrix size - right panel on log scale", ""), " - ", ifelse(benchmark!="gcbd", data.to.plot$Runs[1], paste(" from ", max(data.to.plot$Runs), " to ", min(data.to.plot$Runs))), - " runs - lower is better\n\n")) + if (benchmark != "gcbd") + cat(paste0("Time in seconds - ", data.to.plot$Runs[1], " runs - lower is better\n\n")) + else + cat(paste0("Performance gain regarding matrix size - reference: ", names(which(renamedLibs==LIBRARY.REF)), " - from ", max(data.to.plot$Runs), " to ", min(data.to.plot$Runs), " runs - higher is better\n\n")) myColors = c("#E6191A", "#F25F1E", "#636363", "#5AAC45") names(myColors) = levels(data.to.plot$Color) @@ -326,9 +334,9 @@ for (host in hosts.info$Host) } else { rbColors = c("#F40000","#FF8000","#0094FF","#E900FF","#B35807","#7F00FF","#FFBC70","#00DD0E") - png(image.path, width=400, height=350, type="cairo") + png(image.path, width=600, height=400, type="cairo") print(ggplot(data.to.plot, - aes(x=Size, y=Time, group=Library, color=Library, + aes(x=Size, y=PerfGain, group=Library, color=Library, shape=Library, fill=Library)) + theme_classic() + theme( @@ -344,52 +352,20 @@ for (host in hosts.info$Host) ) + geom_line(size=1) + geom_point(size=2, color="grey30") + - scale_x_continuous(expand = c(0, 0), - limits = c(0, 5000)) + - scale_y_continuous(expand = c(0, 0)) + - coord_cartesian(ylim=c(0, max(20, max(data.to.plot$Time)/3))) + - geom_hline(yintercept = 0, color="grey") + - geom_vline(xintercept = 0.4, color="grey") + - scale_shape_manual(values=c(21,24,22,25,23,21,22,23)) + - scale_color_manual(values=rbColors) + - scale_fill_manual(values=rbColors) - - ) - dev.off() - - cat(paste0("![](", image.path, ")")) - - png(gsub(".png", "b.png", image.path), width=350, height=350, type="cairo") - print(ggplot(data.to.plot, - aes(x=Size, y=Time, group=Library, color=Library, - shape=Library, fill=Library)) + - theme_classic() + - theme( - panel.border = element_blank(), - axis.title.x=element_blank(), - axis.title.y=element_blank(), - axis.text.x = element_text(colour="grey60"), - axis.text.y = element_text(colour="grey60"), - axis.ticks.x=element_line(color="grey60"), - axis.ticks.y=element_line(color="grey60"), - legend.position="none" - ) + - geom_line(size=1) + - geom_point(size=2, color="grey30") + scale_x_log10(expand=c(0,0), breaks=c(100, 200, 400, 800, 1600, 3200, 5000), - limits=c(100, 5500)) + - scale_y_log10() + + limits=c(90, 5500)) + + scale_y_continuous(expand = c(0, 0)) + + geom_hline(yintercept = 0, color="grey") + + geom_vline(xintercept = 90, color="grey") + scale_shape_manual(values=c(21,24,22,25,23,21,22,23)) + - geom_hline(yintercept = 0, color="grey") + - geom_vline(xintercept = min(data.to.plot$Size), color="grey") + scale_color_manual(values=rbColors) + scale_fill_manual(values=rbColors) ) dev.off() - cat(paste0("![](", gsub(".png", "b.png", image.path), ")\n\n\n\n")) + cat(paste0("![](", image.path, ")\n\n\n\n")) } @@ -451,19 +427,44 @@ for (lib in LIBRARIES) filter(Library == lib & Benchmark == benchmark & Test == test) + data.to.plot = data.to.plot %>% rowwise() %>% + mutate(CPUGPU=hosts.info[which(hosts.info$Host==Host), ifelse(lib!="cublas", "CPU", "GPU")]) + if (benchmark != "gcbd") { + if (lib!="cublas") + { + if (data.to.plot[which(hosts.info$CPU==HOST.REF), "Time"]!=Inf) { + data.to.plot = data.to.plot %>% + mutate(Time=replace(Time, Time==0, 5e-05), + PerfGain=data.to.plot[which(hosts.info$CPU==HOST.REF), "Time"]/Time) + } else { + data.to.plot = data.to.plot %>% + mutate(Time=replace(Time, Time==0, 5e-05), + PerfGain=data.to.plot[which(hosts.info$CPU==HOST.REF.SEC), "Time"]/Time) + } + } else { + data.to.plot = data.to.plot %>% + mutate(Time=replace(Time, Time==0, 5e-05), + PerfGain=data.to.plot[which(filter(hosts.info, !is.na(GPU))$GPU==HOST.REF.GPU), ][["Time"]]/Time) + } + } else { if (lib!="cublas") + { data.to.plot = data.to.plot %>% - mutate(PerfGain=data.to.plot[which(hosts.info$CPU==HOST.REF), "Time"]/Time) - else + mutate(Time=replace(Time, Time==0, 5e-05)) + + data.to.plot$PerfGain = + data.to.plot[which(data.to.plot$CPUGPU==HOST.REF), ][["Time"]]/data.to.plot$Time + } else { data.to.plot = data.to.plot %>% - mutate(PerfGain=data.to.plot[which(hosts.info$GPU==HOST.REF.GPU), "Time"]/Time) + mutate(Time=replace(Time, Time==0, 5e-05)) + data.to.plot$PerfGain = + data.to.plot[which(data.to.plot$CPUGPU==HOST.REF.GPU), ][["Time"]]/data.to.plot$Time + } } - data.to.plot = data.to.plot %>% rowwise() %>% - mutate(CPUGPU=hosts.info[which(hosts.info$Host==Host), ifelse(lib!="cublas", "CPU", "GPU")]) cat(paste0("#### ", # fix urbanek errors in names gsub(" \\(.*\\)", "", @@ -489,13 +490,15 @@ for (lib in LIBRARIES) "_t", i, ".png")) - cat(paste0("Time in seconds ", ifelse(benchmark=="gcbd", "regarding matrix size - right panel on log scale", ""), " - ", ifelse(benchmark!="gcbd", data.to.plot$Runs[1], paste(" from ", max(data.to.plot$Runs), " to ", min(data.to.plot$Runs))), - " runs - lower is better\n\n")) + if (benchmark != "gcbd") + cat(paste0("Time in seconds - ", data.to.plot$Runs[1], " runs - lower is better\n\n")) + else + cat(paste0("Performance gain regarding matrix size - reference: ", ifelse(lib!="cublas", HOST.REF, HOST.REF.GPU), " - from ", max(data.to.plot$Runs), " to ", min(data.to.plot$Runs), " runs - higher is better\n\n")) - myColors = c("#5AAC45", "#636363", "#636363", "#636363", "#E6191A", "#636363", "#636363") + myColors = c("#5AAC45", "#636363", "#636363", "#636363", "#636363", "#636363", "#636363", "#E6191A") if (lib=="cublas") - myColors = c("#5AAC45", "#E6191A", "#636363", "#636363")#, "#5AAC45", "#636363") + myColors = c("#5AAC45", "#636363", "#636363", "#E6191A") colScale = scale_fill_manual(name = "Color", values = myColors) @@ -533,11 +536,11 @@ for (lib in LIBRARIES) } else { - rbColors = c("#F40000","#FF8000","#0094FF","#7F00FF","#E900FF","#00DD0E","#B35807") + rbColors = c("#F40000","#FF8000","#0094FF","#7F00FF","#E900FF","#00DD0E","#B35807", "#7F006E") - png(image.path, width=400, height=350, type="cairo") + png(image.path, width=700, height=400, type="cairo") print(ggplot(data.to.plot, - aes(x=Size, y=Time, group=CPUGPU, color=CPUGPU, + aes(x=Size, y=PerfGain, group=CPUGPU, color=CPUGPU, shape=CPUGPU, fill=CPUGPU)) + theme_classic() + theme( @@ -548,56 +551,24 @@ for (lib in LIBRARIES) axis.text.y = element_text(colour="grey60"), axis.ticks.x=element_line(color="grey60"), axis.ticks.y=element_line(color="grey60"), - legend.margin=unit(c(0,-60,0,40), "mm"), legend.title=element_blank() ) + geom_line(size=1) + geom_point(size=2, color="grey30") + - scale_x_continuous(expand = c(0, 0), - limits = c(0, 5000)) + - scale_y_continuous(expand = c(0, 0)) + - geom_hline(yintercept = 0, color="grey") + - geom_vline(xintercept = 0.4, color="grey") + - scale_shape_manual(values=c(25,24,22,21,23,25,24)) + - scale_color_manual(values=rbColors) + - scale_fill_manual(values=rbColors) - - ) - dev.off() - - cat(paste0("![](", image.path, ")")) - - png(gsub(".png", "b.png", image.path), width=350, height=350, type="cairo") - print(ggplot(data.to.plot, - aes(x=Size, y=Time, group=CPUGPU, color=CPUGPU, - shape=CPUGPU, fill=CPUGPU)) + - theme_classic() + - theme( - panel.border = element_blank(), - axis.title.x=element_blank(), - axis.title.y=element_blank(), - axis.text.x = element_text(colour="grey60"), - axis.text.y = element_text(colour="grey60"), - axis.ticks.x=element_line(color="grey60"), - axis.ticks.y=element_line(color="grey60"), - legend.position="none" - ) + - geom_line(size=1) + - geom_point(size=2, color="grey30") + scale_x_log10(expand=c(0,0), breaks=c(100, 200, 400, 800, 1600, 3200, 5000), - limits=c(100, 5500)) + - scale_y_log10() + - scale_shape_manual(values=c(25,24,22,21,23,25,24)) + - geom_hline(yintercept = 0, color="grey") + - geom_vline(xintercept = min(data.to.plot$Size), color="grey") + + limits=c(90, 5500)) + + scale_y_continuous(expand = c(0, 0)) + + geom_hline(yintercept = 0, color="grey") + + geom_vline(xintercept = 90, color="grey") + + scale_shape_manual(values=c(25,24,22,21,23,25,24,22)) + scale_color_manual(values=rbColors) + scale_fill_manual(values=rbColors) ) dev.off() - cat(paste0("![](", gsub(".png", "b.png", image.path), ")\n\n\n\n")) + cat(paste0("![](", image.path, ")\n\n\n\n")) } diff --git a/slave-cmds.sh b/slave-cmds.sh index 0b69647..4036580 100644 --- a/slave-cmds.sh +++ b/slave-cmds.sh @@ -244,6 +244,7 @@ function atlas_mt_install { wget ${WGET_OPTIONS} http://www.netlib.org/lapack/lapack-3.6.0.tgz sed -i "1423i\thrchk=0;" ../CONFIG/src/config.c + sed -i "324i\case 0x5E:" ../CONFIG/src/backend/archinfo_x86.c ../configure --shared --with-netlib-lapack-tarfile=`pwd`/lapack-3.6.0.tgz make @@ -297,6 +298,7 @@ function gotoblas2_install { rm SurviveGotoBLAS2_3.141.tar.gz cd survivegotoblas2-3.141 + # if target architecture can not be detected, then add to "make" e.g. TARGET=CORE2 ; see 3. in 02QuickInstall.txt make REFBLAS_ANTILOGY=1 NO_CBLAS=1 GOTOBLASLIBSONAME=libgoto2blas.so GOTOLAPACKLIBSONAME=libgoto2lapack.so -j ${NPROC} cp exports/libgoto2blas.so ${DIR_GOTOBLAS2} @@ -403,6 +405,7 @@ function blis_install { cd blis git checkout 32db0adc218ea4ae370164dbe8d23b41cd3526d3 # 17.05.2016 + # if target architecture can not be detected ("reference" is used), then replace "auto" to e.g. "haswell" ; see https://github.com/flame/blis/wiki/BuildSystem ./configure -t pthreads --enable-shared auto make -j ${NPROC} cd ..