Jump to content

Andux

Member Since 02 Dec 2012
Offline Last Active May 24 2013 03:48 AM
-----

Posts I've Made

In Topic: Going to another language :|

20 April 2013 - 03:59 AM

Google for java applet tutorial. These run from a single command line in an HTML page.

In Topic: Android Benchmarks

01 April 2013 - 05:18 AM

Memory Benchmarks

 

 The most noticeable performance differences between the various implementations of ARM processor cores are revealed via my memory benchmarks. The three of them all measure MegaBytes per second transferring from caches and RAM, with data sizes 16. 32. 64. 126. 256. and 512 KB, then 1, 4, 16 and 64 MB.

 

MemSpeed - Calculations are x[m]=x[m]+s*y[m] and x[m]=x[m]+y[m], using double and single precision floating point and x[m]=x[m]+s+y[m] and x[m]=x[m]+y[m] with integers.

 

BusSpeed - This benchmark reads data using AND instructions and is designed to identify transferring data in bursts over buses. The program starts by reading a word (4 bytes) with an address increment of 32 words (128 bytes) before reading another word. The increment is reduced by half on successive tests, until all data is read. Different burst sizes can apply to transfers from RAM and burst might or might not apply via caches.

 

RandMem - carries out four tests with serial and random read and read/write tests, using 32 bit integers. Serial and random address selections use the same complex indexing structure. Random access speeds are influenced by burst reading.

 

Further details, full results and download links are provided in:

 

http://www.roylongbo... benchmarks.htm   

 

As with other benchmarks, comparison of these ones can show that CPUs don’t always run at the specified MHz. They also differences between earlier and later Cortex-A9 processors and those using Qualcomm Snapdragon S4s.

 

The Nexus 7 and Galaxy SIII both have quad core Cortex-A9 CPUs, the SIII having a later version. There are claims that this has 128-bit internal buses, instead of 64-bit and is probably why speeds via L2 cache are up to 25% faster. The SIII also have dual channel RAM with serial data transfer speeds three times faster.

 

Comparing a HTC One X Snapdragon S4 with the SIII identifies significant differences. The former has a smaller L1 cache then, adjusting for a constant MHz, is slower than the Cortex-A9 on integer calculations and much slower on all sequential data transfers form RAM (not dual channel?). On the other hand, the S4 is up to twice as fast on floating point calculations with data from caches and can be faster on random/skipped sequential data transfers from RAM, due to different burst reading characteristics. Back to disadvantages, the S4 can suffer from severe degradation on reading random/skipped sequential data from caches due to apparent burst reading.

 

We could say that these benchmarks show that we can’t simply say that one phone or tablet is faster than another with a variation of technology. In this case, a SIII can be between half speed to 2.5 times faster than the S4.

 

Roy

 

 

 

In Topic: Starting Out With Games and Graphics in C++

01 April 2013 - 03:55 AM

http://www.amazon.com/dp/1435457420/

 

I'm thinking of purchasing that. I'm a total newb to C++, and I'm looking ot get into programming myself. I mean i know HTML for the most part, and CSS isn't hard really. But I want a challenge. I need something to keep me busy. Thing is, I'll be doing this in Ubuntu, and it recomends Microsoft Visual C++ or something.

 

Also, I typed this out last night and thought I posted it.....I am teh dumbs.

 

You don’t need a paid for Integrated Development Environment to produce OpenGL programs via Ubuntu. All you need is to download appropriate libraries for the free GCC C/C++ compiler and a text editor. Programs can be compiled via a gcc terminal command including options -lglut and -lGLU. There can be complications on installing libraries. A work around for this, with links to source code, commands used and other Linux/graphics adapter issues,- can be found in my report:

 

http://www.roylongbo... benchmarks.htm

 

Last year a Quality Engineer for Canonical, working on the Unity desktop experience, sought permission to incorporate the benchmark into testing of the desktop. I said “yes” of course, but there is no shooting.

 

Roy

In Topic: Android Benchmarks

13 March 2013 - 11:09 AM

How much faster is your phone  than the $7M Cray 1 Supercomputer?

 

Livermore Loops

 

This original main benchmark for supercomputers was first introduced in 1970, initially comprising 14 kernels of numerical application, written in Fortran. This was increased to 24 kernels in the 1980s. Performance measurements are in terms of Millions of Floating Point Operations Per Second or MFLOPS. The kernels are executed three times with different double precision data array sizes. Following are overall MFLOPS results for various systems, Geometric Mean being the official average performance. [Reference - F.H. McMahon, The Livermore Fortran Kernels: A Computer Test Of The Numerical Performance Range, Lawrence Livermore National Laboratory, Livermore, California, UCRL-53745, December 1986]


                   ---------------- MFLOPS ---------------              
 CPU          MHz  Maximum Average Geomean Harmean Minimum  Date

 CDC 7600      36.4   7.3     4.2     3.9     2.5     1.4   1974 * 
 Cray 1A       80    83.5    25.8    14.4     7.9     2.7   1980 * 
 Cray 1S       80    82.1    22.2    11.9     6.5     1.0   1985    
 CDC Cyber 205 50   146.9    36.4    14.6     5.0     0.6   1982 * 
 Cray 2       244   146.4    36.7    14.2     5.8     1.7   1985    
 Cray XMP1    105   187.8    61.3    31.5    15.6     3.6   1986    

 

             * Fewer than 24 Kernels, Date is year measured   
 
The  Android benchmark is LivermoreLoops.apk, available from:

 

http://www.roylongbo... benchmarks.htm

 

Android results below show Geometric Mean speed up to 15 times Cray 1, but not as effective as desktop PCs. These kernels use L1 and L2 caches, penalising the Snapdragon with the smaller L1 cache (indicated on memory benchmarks).

 

                              ------------- MFLOPS ------------
 Device        CPU   MHz     Max Average Geomean Harmean     Min

 

 Tablet      926EJ   800      10       6       5       5       2
 Galaxy S    v7-A8  1000      61      37      35      32      13
 Tablet      v7-A9   800     253     129     115     102      47
 Nexus 7     v7-A9  1300     392     202     181     161      68
 Tablet      v7-A9  1500     397     208     186     165      75
 HTC One S   QU-S4  1500     418     228     194     161      65
 Galaxy SIII v7-A9  1400     456     247     221     196      85

 Linux
 Netbook     Atom   1666     465     212     185     157      50
 Desktop    Core 2  2400    2385    1038     806     582     161
 Desktop    i7 930  3066    4336    1574    1317    1105     410

 

                 QU-S4 = Qualcomm Snapdragon S4

 

 Roy

In Topic: Android Benchmarks

13 March 2013 - 06:41 AM

Linpack Benchmark

 

The Linpack Benchmark was produced from the "LINPACK" package of linear algebra routines. It became the primary benchmark for scientific applications, particularly under Unix, from the mid 1980's, with a slant towards supercomputer performance. The original double precision C version, used here, operates on 100x100 matrices. Performance is governed by an inner loop in function daxpy() with a linked triad dy[i] = dy[i] + da * dx[i], and is measured in Millions of Floating Point Operations Per Second (MFLOPS).

 

This benchmark, from GreenComputing” seems to be the most popular one for Android from Google Play. However, it is based on Java calculations and is extremely slow compared with other systems. Results for the original N=100 and others for MP systems can be found in: 

 

ftp://ftp.idsa.prd.fr/pub/netlib/benchmark/performance.pdf

 

and my results on PCs via Windows and Linux, plus Android devices are in:
 
http://www.roylongbo...ack results.htm

 

I have five versions available that use one CPU core and are downloadable via:

 

http://www.roylongbo... benchmarks.htm

 

LinpackJava.apk   - all Java
Linpackv5.apk      - compiled native code for old floating point instructions
Linpackv7.apk      - compiled native code using later vfpv3 instructions
LinpackSP.apk      - as v7 but using faster single precision floating point
NEON-Linpack.apk - using NEON SIMD vector instructions (single precision)

 

Example results are below. The benchmark uses L2 cache sized data, where the HTC One X with a Qualcomm Snapdragon S4 is faster than the ARM-A9 CPUs. Unlike Intel, single precision calculations are faster than double precision on the ARM CPUs but the main line Core processors are far superior.

 

 

 Linpack MFLOPS
                                                                MFLOPS/MHz
 Device            ARM      MHz     V7     SP   NEON   Java      V7   SIMD

 

 Tablet          926EJ      800      6     10    N/A      2    0.01
 Huawei u8800    v7-A8      800     80                         0.10
 Tablet          v7-A9      800    101    129    256     33    0.13   0.32
 HTC One X       v7-A9     1500    171                         0.11
 Tablet          v7-A9     1500    156    205    382     57    0.10   0.25
 Asus TF700      v7-A9     1600    196                         0.12
 Nexus 7         v7-A9     1300    151    201    376     56    0.12   0.29
 HTC One X       QU-S4     1500    255                         0.17
 Galaxy SIII     v7-A9     1400    184    236    454     57    0.13   0.32

 

 Linux                             Opt
 Atom                      1666    204    216           118    0.12
 Core 2                    2400   1288                  901    0.54

 

 Windows                           Opt
 Atom                      1666    183                  119    0.11
 Core 2                    2400   1315                  551    0.55
 Core i7 930     Turbo     3066   1765                         0.58
 Core i7 860     Turbo     3460   2004                         0.58
 Core i7 3930K   Turbo     3800   2530                         0.67

                                  SSE2
 Core 2 64 bit             2400   1602                                0.67
 Core i7 3930K   O'Clkd    4720   3928                                0.83

 

 Roy