Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
7 Views

cpuinfo output from system call different

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
Highlighted
Moderator
7 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
Highlighted
Beginner
7 Views

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

0 Kudos