Page 1 of 1

P13800 Unusual PPD on 3 machines; CoreA7 AVX observations

Posted: Wed Jan 25, 2017 11:35 pm
by GreyWhiskers
I'm running 3 SMP slots on 3 windows machines (Details just above code window).

1. I've noticed over the last couple of days that I have gotten extraordinary frame time/ppd from all 3 machines on particular work units in project 13800 (using core GRO_A7).
-- On DigiStorm, my typical frame time on P13800's went from about 5:30 to 2:48, with corresponding increase in PPD from ~40,500-ish to 118,549 on RCG 0 139 0.
-- On my newer laptop Sager NP8657S, my typical frame time went from about 5:00 to 2:32 with corresponding increase in PPD on RCG 0 109 0 [EDIT - Remove inaccurate observation]
-- On my old laptop SAGER 8150, my typical frame time went from about 7:45 to 3:53, with corresponding increase in PPD, on RCG 0 14 0
-- This seems a temporary aberration; at this moment, I'm processing P13800 work units on DigiStorm and Sager8150 with Frame Times / PPD in "typical" ranges

2. As an FYI, this table below does illustrate the Core GRO_A7's use of the AVX instruction set, and in particular, the differences between the performance with my one AVX2-enabled CPU and the two AVX-enabled CPUs
-- The DigiStorm computer has a Sandybridge i7 2600K with AVX. It has been overclocked for almost 6 years at 4.2GHz. In Core A4, and other SMP folding cores, the higher clock speed of this computer vs the other two laptops running i7s, but a lower clock speed, had a frame time/ppd advantage over the others.
-- However, comma, with Core A7, there is a distinct advantage of the newer AVX2 architecture. My newer laptop, Sager NP8657S, has a Skylake i7 CPU. It's performance on CoreA7 work units is significantly higher than the DigiStorm precisely because it has AVX2 capabilities, despite having a lower clock speed (3.2GHz vs i72600K of 4.2Ghz).
-- I've included at end of post the Wikipedia overview of AVX and AVX2

DigiStorm SMP-6 i7 2600K Sandy Bridge (2011) @ 4.2 GHz; AVX; secondary to GTX660Ti GPU folding [EDIT - corrected missing information]
Sager NP8657S laptop: SMP-6; i7 6100H Skylake (2016) @ 3.2GHz (boost); AVX, AVX2; secondary to GTX970M GPU
Sager8150 laptop: SMP-8; i7 2860QM Sandy Bridge (2011) @2.7-2.8 MHz (boost); AVX
[EDIT. Stats below from HFM.net v0.9.6. This version of HFM exports its WU History data to a .csv file. Some massaging required to get an all-text table using fixed width font replacing all tabs present in Excel export with fixed spaces.]

Code: Select all

Project R  C   G  Name           Frame Time   Download       Completion      Core    Atoms   PPD       Credit
ID                                            Date Time      Date Time
13800  0   52  0  DigiStorm      00:05:35  1/21/2017 03:17  1/21/2017 12:36  GRO_A7  12420  42,141.91  16,339.74
13800  0   19  2  DigiStorm      00:05:28  1/21/2017 17:42  1/22/2017 02:50  GRO_A7  12420  43,472.88  16,503.59
13800  0   42  4  DigiStorm      00:05:31  1/22/2017 07:47  1/22/2017 17:00  GRO_A7  12420  42,878.53  16,426.85
13800  0   72  2  DigiStorm      00:05:31  1/22/2017 22:49  1/23/2017 08:01  GRO_A7  12420  42,903.13  16,436.27
13800  0  101  2  DigiStorm      00:05:40  1/23/2017 17:25  1/24/2017 02:53  GRO_A7  12420  41,208.34  16,216.24
13800  0   63  8  DigiStorm      00:05:36  1/24/2017 14:05  1/24/2017 23:26  GRO_A7  12420  41,955.23  16,315.92
13800  0  139  0  DigiStorm      00:02:48  1/24/2017 23:26  1/25/2017 04:07  GRO_A7  12420  118,549.29  23,051.25
13800  0   8  40  Sager NP8657S  00:04:59  1/20/2017 18:33  1/21/2017 02:56  GRO_A7  12420  49,814.97  17,239.21
13800  0   50  0  Sager NP8657S  00:04:50  1/21/2017 02:51  1/21/2017 11:01  GRO_A7  12420  52,014.75  17,458.65
13800  0   54  1  Sager NP8657S  00:04:54  1/21/2017 10:56  1/21/2017 19:12  GRO_A7  12420  50,963.20  17,341.64
13800  0   67  1  Sager NP8657S  00:05:05  1/22/2017 03:48  1/22/2017 12:21  GRO_A7  12420  48,334.85  17,062.65
13800  0   77  0  Sager NP8657S  00:05:00  1/22/2017 12:16  1/22/2017 20:43  GRO_A7  12420  49,419.06  17,159.40
13800  0   53  2  Sager NP8657S  00:05:04  1/23/2017 00:56  1/23/2017 09:26  GRO_A7  12420  48,632.40  17,111.40
13800  0  102  1  Sager NP8657S  00:05:06  1/23/2017 09:21  1/23/2017 17:57  GRO_A7  12420  47,993.19  16,997.59
13800  0   38 10  Sager NP8657S  00:05:07  1/23/2017 17:52  1/24/2017 02:30  GRO_A7  12420  47,787.59  16,980.08
13800  0  109  0  Sager NP8657S  00:02:32  1/24/2017 02:24  1/24/2017 06:44  GRO_A7  12420  136,344.01  23,986.45
13800  0   96  2  Sager NP8657S  00:05:00  1/24/2017 10:23  1/24/2017 18:46  GRO_A7  12420  49,628.32  17,232.05
13800  0  80  5  Sager NP8657S  00:05:04  1/24/2017 22:40  1/25/2017 07:09  GRO_A7  12420  48,651.47  17,118.11
13800  0  55  1  Sager8150      00:07:38  1/21/2017 08:18  1/21/2017 21:03  GRO_A7  12420  26,345.22  13,965.40
13800  0  55  4  Sager8150      00:07:49  1/22/2017 23:48  1/23/2017 12:51  GRO_A7  12420  25,437.66  13,808.17
13800  0  83  3  Sager8150      00:07:46  1/23/2017 12:51  1/24/2017 01:48  GRO_A7  12420  25,688.18  13,854.97
13800  0  45  8  Sager8150      00:07:45  1/24/2017 01:48  1/24/2017 14:44  GRO_A7  12420  25,767.21  13,867.77
13800  0  14  0  Sager8150      00:03:53  1/25/2017 07:49  1/25/2017 14:18  GRO_A7  12420  72,648.67  19,591.60

From https://en.wikipedia.org/wiki/Advanced_ ... Extensions
Advanced Vector Extensions (AVX) are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge[1] processor shipping in Q1 2011 and later on by AMD with the Bulldozer[2] processor shipping in Q3 2011. AVX provides new features, new instructions and a new coding scheme.

AVX2 expands most integer commands to 256 bits and introduces FMA. AVX-512 expands AVX to 512-bit support utilizing a new EVEX prefix encoding proposed by Intel in July 2013 and first supported by Intel with the Knights Landing processor scheduled to ship in 2015.[3]

Re: P13800 Unusual PPD on 3 machines; CoreA7 AVX observation

Posted: Thu Jan 26, 2017 3:17 am
by _r2w_ben
I wonder if some of the work units were run with the AVX version of the core while others were not. Can you check the log files for lines like this?

Code: Select all

"C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" C:\Users\[snip]\AppData\Roaming\FAHClient\cores/fahwebx.stanford.edu/cores/Win32/AMD64/AVX/Core_a7.fah/FahCore_a7.exe -dir 01 -suffix 01 -version 704 -lifeline 2188 -checkpoint 15 -np 2
Does the portion "/AMD64/AVX/Core_a7.fah" ever say "/AMD64/Core_a7.fah" instead?

I'm not sure if it's possible for researches to specify the core at the individual run or work unit level. If it is then they may be doing parallel runs within the same project, one using the AVX enabled core and another without, to confirm accuracy of the new code path.

Re: P13800 Unusual PPD on 3 machines; CoreA7 AVX observation

Posted: Thu Jan 26, 2017 4:48 am
by JimboPalmer
I am going to spread the (mis?) information that I have.
So far as I know, there is a SSE version of A7, which your DigiStorm and SAGER 8150 would run, and an AVX2 version that the newer Sager NP8657S would run.
So far as I know any Pentium 4 and up can run the SSE version, you get the newer OpenMM code, but do not use any different hardware than A4.
Haswell and newer CPUs can run the AVX2 version, and not only use newer code than A4, but use newer hardware in the CPU.

I would love to know I am wrong, but it is what I think I know.

Re: P13800 Unusual PPD on 3 machines; CoreA7 AVX observation

Posted: Thu Jan 26, 2017 6:43 pm
by GreyWhiskers
@_r2w_ben. I have looked through the logs, although I haven't yet captured all the text to show here. All of the P13800 instantiations on all of the machines show the line something like below. It does show "...cores/Win32/AMD64/AVX/beta/Core_a7.fah..." with the AVX directory part of the procedure call.

12:51:20:WU00:FS00:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" "C:\Users\[USER NAME]AppData\Roaming\FAHClient\cores/fahwebx.stanford.edu/cores/Win32/AMD64/AVX/beta/Core_a7.fah/FahCore_a7.exe" -dir 00 -suffix 01 -version 704 -lifeline 7260 -checkpoint 15 -np 8

It has always been apparent, too, when a Work Unit runs using the a7 core on my AVX-enabled machines that the ppd goes up, compared with the max ppd that cpu had been getting using the same number of SMP cores. That is probably representative of AVX allowing much more work getting done in a unit of time, being reflected in the value the project leads give to the score parameters.

Re: P13800 Unusual PPD on 3 machines; CoreA7 AVX observation

Posted: Thu Jan 26, 2017 6:47 pm
by bruce
Right :!:

FAHCore_a7 was created in two versions: AVX and SSE (non-AVX). The client selects which one to use based on the capabilities of your hardware. The goal was to improve performance where the hardware made that possible while not not limiting the use of older hardware. The researcher cannot specify which one to use.

Core_a4 (SSE only) does use an older version of GROMACS than Core_a7 (either vsersion) so on hardware WITHOUT AVX there might be some subtle differences between a project running on A4 vs. running on A7, but the only significant change was adding support for AVX for CPUs that have it.