Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Parallel compilation with i7-7820X CPU (8 core CPU with hyper-threading)


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 4 - Last Post: Aug 28, 2017 12:43 PM Last Post By: Albert Wiersch
Albert Wiersch

Posts: 37
Registered: 11/27/08
Parallel compilation with i7-7820X CPU (8 core CPU with hyper-threading)  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 26, 2017 7:03 PM
I upgraded my computer to an i7-7820X CPU with 8 cores and hyper-threading. With parallel compilation, it seems to actually make using the slower Clang compiler (bcc32c.exe) practical over the much faster classic compiler.

But what is the best setting for "number of subprocesses" in the 'Project Properties'? I can set it up to 16 because the CPU has hyper-threading... but maybe more isn't always better?... maybe 12 would be better? Or even 8 since there are only 8 "real" cores? I haven't done much testing yet but setting it to 12 (instead of 8) does seem to increase CPU utilization so I assume 12 is faster than 8?

Any thoughts or suggestions to get the most from parallel compilation with an 8 core CPU with hyper-threading (so 16 logical processors)?
Alex Belo

Posts: 626
Registered: 10/8/06
Re: Parallel compilation with i7-7820X CPU (8 core CPU with hyper-threading) [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 26, 2017 10:02 PM   in response to: Albert Wiersch in response to: Albert Wiersch
Albert Wiersch wrote:

But what is the best setting for "number of subprocesses" in the
'Project Properties'? I can set it up to 16 because the CPU has
hyper-threading... but maybe more isn't always better?

Hyper-threading
https://en.wikipedia.org/wiki/Hyper-threading

I think you need to perform an experiment (don't forget to share result
:-)): use number of subprocesses from 1 to 16 (or even more) and see
dependence T(n) on your system.

Among other possible things time can depend on HDD performance. HDD
controller is device independant from CPU so when one thread (or more
threads) is waiting for I/O completion other threads can process data
in memory.

--
Alex
Albert Wiersch

Posts: 37
Registered: 11/27/08
Re: Parallel compilation with i7-7820X CPU (8 core CPU with hyper-threading) [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 27, 2017 9:25 AM   in response to: Alex Belo in response to: Alex Belo
Alex Belo wrote:

I think you need to perform an experiment (don't forget to share result
:-)): use number of subprocesses from 1 to 16 (or even more) and see
dependence T(n) on your system.

OK, you made me take the time to do this... but I'm going to make people visit my forum page to see the results. :)

Check it out here (the 'Parallel Compilation Chart' section):
https://www.htmlvalidator.com/CSEForum/viewtopic.php?f=6&t=2690
Alex Belo

Posts: 626
Registered: 10/8/06
Re: Parallel compilation with i7-7820X CPU (8 core CPU with hyper-threading) [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 28, 2017 9:43 AM   in response to: Albert Wiersch in response to: Albert Wiersch
Albert Wiersch wrote:

I think you need to perform an experiment (don't forget to share
result :-))

OK, you made me take the time to do this... but I'm going to make
people visit my forum page to see the results. :)

Wow, good job!

Interestingly, performance increases up to 16 subprocesses; I expected
much worse result.

What about more subprocesses? (just out of curiosity ;-))

SSD's can wear out
I bought a 500GB Samsung 850 SSD

Forget about tear and wear: many SSD drives (and Sumsung are among
them) are much more wear-resistant than documented.

Take a look (in Russian):

SSD reliability trial: results
https://3dnews.ru/938764/page-2.html

Search for "Samsung 850 PRO".

Test is still in progress but total written volume of data is more than
3623 Тb (yes, 3 petabytes!), 0 errors, 0 relocated sectors.

Note, documented "mileage life" is 150 Tb.

Average number of writes in every memory cell is 25805. S.M.A.R.T.
treats it as 100% wear (MLC 3D V-NAND has 6000 cycles only according to
documentation) but disk is still in excellent shape.

--
Alex
Albert Wiersch

Posts: 37
Registered: 11/27/08
Re: Parallel compilation with i7-7820X CPU (8 core CPU with hyper-threading) [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Aug 28, 2017 12:43 PM   in response to: Alex Belo in response to: Alex Belo
Alex Belo wrote:

Wow, good job!

Thanks!


Interestingly, performance increases up to 16 subprocesses; I expected
much worse result.

What about more subprocesses? (just out of curiosity ;-))

It won't let me choose more than 16. It limits the number to the number of logical processors you have, which is 16 on an i7-7820X.

Forget about tear and wear: many SSD drives (and Sumsung are among
them) are much more wear-resistant than documented.

Yeah, but constant compiling creates many temp/intermediate files... I'd rather just use a cheap HD. It makes me feel better and I don't think there is any performance hit because I have plenty of RAM in my system and Windows does a nice disk caching job.

SSD reliability trial: results
https://3dnews.ru/938764/page-2.html

Search for "Samsung 850 PRO".

Test is still in progress but total written volume of data is more than
3623 Тb (yes, 3 petabytes!), 0 errors, 0 relocated sectors.

Wow... but I still feel like I'm wasting the SSD if I can use a cheap HD for temp files instead, especially when there is no performance hit (at least I don't think there is). In my old computer, which has a Samsung 850 Pro, it is showing some bad sectors at only 12.17 TB written and 92% health according to Hard Disk Sentinel... though it still says 92% is "excellent".

Albert
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02