Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2154 Discussions

cpuinfo output from system call different

AGG1
Beginner
365 Views

Hello,

I'm using Intel MPI 5.0 and am making a system call inside my fortran program and it returns different values depending on the env. variable I_MPI_PIN_DOMAIN. Why is that? How do I make it give consistent output?

Sample Fortran (Intel Fortran 13.1) program that can reproduce this:

        Program tester

        call system("cpuinfo|grep 'Packages(sockets)'|
     &                          tr -d ' '|cut -d ':' -f 2")

        stop
        end

 

$ mpirun -genv I_MPI_PIN_DOMAIN node -np 1 ./a.out
2

 

$ mpirun -genv I_MPI_PIN_DOMAIN socket -np 1 ./a.out
1

The command line output of the same in a shell is 2, so why is "socket" giving different output?

Thanks!

 

0 Kudos
2 Replies
James_T_Intel
Moderator
365 Views

I'm not certain why the output is different, I'll have to check with our developers.  Generally, cpuinfo should not be run inside a job, as it is intended to provide core layout for a job.  So it may be expected that the output is inconsistent in this scenario.

0 Kudos
AGG1
Beginner
365 Views

Thanks. For now I'm not using the cpuinfo command from inside my code.

0 Kudos
Reply