GSvit documentation

open source FDTD solver with GPU support

User Tools

Site Tools


opt:multithreading

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
opt:multithreading [2018/08/31 09:42]
pklapetek
opt:multithreading [2018/08/31 16:11] (current)
pklapetek
Line 6: Line 6:
 To use the mutithreading,​ set the number of threads in the Basic parameters menu (in XSvit graphical user interface) or use the THREADS directive if you write the parameter file directly. Note that on some systems the apparent number of cores available in the system is doubled (due to hyperthreading feature of the processors),​ but this not speedup anymore the calculation. It is always good to check up to which number of threads the calculation is speeding up. On large scale computational systems we have observed that the first significant drop from scaling linearity is when the memory needs to be accessed from different boards. As FDTD is quite simple, but memory transfers demanding, this performance drop is significant,​ so in practice we rarely use GSvit on more than 16 cores at the same time. This might differ if your HPC system is using a different architecture. To use the mutithreading,​ set the number of threads in the Basic parameters menu (in XSvit graphical user interface) or use the THREADS directive if you write the parameter file directly. Note that on some systems the apparent number of cores available in the system is doubled (due to hyperthreading feature of the processors),​ but this not speedup anymore the calculation. It is always good to check up to which number of threads the calculation is speeding up. On large scale computational systems we have observed that the first significant drop from scaling linearity is when the memory needs to be accessed from different boards. As FDTD is quite simple, but memory transfers demanding, this performance drop is significant,​ so in practice we rarely use GSvit on more than 16 cores at the same time. This might differ if your HPC system is using a different architecture.
  
-In the following example we have changed the number of threads from 1 to on a standard ​computer (Lenovo Yoga notebook, Core i7 processor). The computation time was XX.+In the following example we have changed the number of threads from 1 to on a workstation that we use for most of the calculations (2x Intel Xeon processor each with 8 cores) and on a more regular ​computer (Lenovo Yoga notebook, ​Intel Core i7 processor, 2 cores). The computation time for different number of threads is shown below. 
 + 
 +{{ :​samples:​threads.png?​500 |}} 
 + 
 +Similarly to the use of [[opt:​graphics_cards|graphics cards]], the larger and more complex is the calculation the better is the scaling as the administration (e.g. data initialization or file output) is larger (relatively to the rest of the calculation) for simple and small problems.
  
 ---- ----
opt/multithreading.1535701330.txt.gz · Last modified: 2018/08/31 09:42 by pklapetek