- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all!
My testing platform is a single node with two sockets. Each socket has an Intel Xeon CPU E5-2697 v2 @ 2.70GHz which has 12 cores and 24 threads. Below is my software environment.
I definitely know that one MPI process one socket is recommended, i.e. P x Q = 2. But I want to try and see the performance of 1 process on 1 core, which means P x Q = 24. Below is the HPL testbench in my server.
I commonly run "runme_intel64_dynamic" with MPI_PROC_NUM = 2 and MPI_PER_NODE = 2. I want to know that how to set environment variables to ensure 1 process on 1 core.
By the way, I find that when running HPL, only physical cores are used. Does that means I don't need to care about HT? And will MKL HPL itself spawn threads to the max 24 cores?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
>>>"I want to know that how to set environment variables to ensure 1 process on 1 core."
If you want to run 1 process on 1 core, could you please follow the below steps?
1)create a file called sample
#!/bin/bash
export HPL_HOST_CORE=${PMI_RANK}
./runme_intel64_dynamic
2)add the executable permission to that file.
chmod +x sample
3)run the below command:
mpirun -n <no.of process> ./sample
>>"Does that means I don't need to care about HT"
In multi-processor systems, best performance will be obtained with the Intel® Hyper-Threading Technology turned off, which ensures that the operating system assigns threads to physical processors only. For more information refer to the below link:
>>>"does MKL HPL will itself spawn threads as much as possible?"
MKL HPL spawns multiple threads to exploit multi/many-cores, and it does not require running 1 MPI process per core.
Thanks & Regards,
Hemanth
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for reaching out to us.
Please try using the below command for running the HPL benchmark on 1 core.
HPL_HOST_CORE=0 ./runme_intel64_dynamic
For more information refer to the below link:
Since you want to run the Intel® Distribution for LINPACK* Benchmark binary "runme_intel64_dynamic" using 1 process on 1 core, could you please explain the use-case/intension behind it? So that it helps us to understand your scenario better and thus helps us to provide you better support.
>>"And will MKL HPL itself spawn threads to the max 24 cores?"
Could you please elaborate on the above statement?
Thanks & Regards
Hemanth.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the response! Maybe I haven't expressed it clear what I mean. Sorry about that.
I want to compare the performance of HPL between the following two running ways. One is to run 2 MPI processes, i.e. one process on one socket. The other is to run 24 MPI processes, i.e. one process on one core. Though I know the later way is not recommended, I just want to know how much performance loss there will be.
As for ">>And will MKL HPL itself spawn threads to the max 24 cores?", I find this on the other topic "Need Help w/ MKL HPL scores and HPL.dat"(link: Need Help w/ MKL HPL scores and HPL.dat - Intel Communities). I also attached the related picture below:
About this question, I want to know how to check and change the number of HPL threads on each process. Or does MKL HPL will itself spawn threads as much as possible?
Thanks,
John
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
>>>"I want to know that how to set environment variables to ensure 1 process on 1 core."
If you want to run 1 process on 1 core, could you please follow the below steps?
1)create a file called sample
#!/bin/bash
export HPL_HOST_CORE=${PMI_RANK}
./runme_intel64_dynamic
2)add the executable permission to that file.
chmod +x sample
3)run the below command:
mpirun -n <no.of process> ./sample
>>"Does that means I don't need to care about HT"
In multi-processor systems, best performance will be obtained with the Intel® Hyper-Threading Technology turned off, which ensures that the operating system assigns threads to physical processors only. For more information refer to the below link:
>>>"does MKL HPL will itself spawn threads as much as possible?"
MKL HPL spawns multiple threads to exploit multi/many-cores, and it does not require running 1 MPI process per core.
Thanks & Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for accepting our solution. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.
Thanks & Regards,
Hemanth

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page