Intel P +E or AMD for large (2000) Monte Carlo simulations

65 visualizaciones (últimos 30 días)
Qiang Li
Qiang Li el 7 de Jun. de 2024
Editada: Qiang Li el 27 de Ag. de 2024
I'm about to build a new pc with running large Monte Carlo simulation in mind. I know that matlab doesn't benefit from threading. Am I better off with an Intel 14700k 20core (8P+12E) cpu, or an AMD 7950x 16core cpu (16P) cpu.
I'm concerned that the intel chip E cores can't perform equally well as the P cores, so that different Monte Carlo runs won't finish about the same time.
On the other hand, by running bench(0), I see that AMD chips are really bad at linear algebra, which is another concern to me.
A related q&a to this post

Respuesta aceptada

Qiang Li
Qiang Li el 16 de Jun. de 2024
Editada: Qiang Li el 25 de Jul. de 2024
I went with the intel 14900k. For me it seemed to be the safe bet at that moment.
After using the intel chip for over a month mostly doing parallel computing, it becomes clear that the E cores are holding the P cores back. Monitering the system resources, the P cores always finish the job first and will idle waiting for the E cores to catch up.
  2 comentarios
Yunxiao
Yunxiao el 20 de Ag. de 2024
Hi, my new PC is still under delivery and I am worried about the same issue, too. Could you please tell whether the relative waiting time for P cores would not be that serious if the number of parallel loops is large? The process is like below:
Suppose there are 8 P cores and 16 E cores, and I called 24 workers for parallel computation (each worker is based on a physical core). Also suppose there are last 24 parallel loops left, and the 24 workers are working on it. since 8 P cores are faster and they finish 8 loops first, then they would wait for 16 E cores to finish. Then if the number of parallel loops to be computed is quite large, then the relative waiting time for P cores would not be that serious, right?
Qiang Li
Qiang Li el 24 de Ag. de 2024
Editada: Qiang Li el 27 de Ag. de 2024
Like you said, when the loop is large enough, I've tried 300 so far, all cores will stay active most of the time. But I've also observed when the p cores would idle for half an hour for a simulation that took three hours. It could be caused by my implementation. I guess you also went with the i9 chip, mine will stay 5.5ghz on the p cores and 4.3 on the e cores over prolonged period of time with a 0.1 undervolt.
edit: I ran some 100 parfor loops today. Here're some cpu status. Hard to tell if the active P/E-core count reflects the actual workload on them.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Productos


Versión

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by