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

requirements in MPI

yeaksuhoe
Beginner
2,481 Views

hello,
Im really new in MPI programming.
I just want to know what are the requirements to run MPI programming.
Im using Windows Vista Business 64-bit, Intel Xeon.

0 Kudos
12 Replies
Dmitry_K_Intel2
Employee
2,481 Views
Quoting - yeaksuhoe

hello,
Im really new in MPI programming.
I just want to know what are the requirements to run MPI programming.
Im using Windows Vista Business 64-bit, Intel Xeon.


Hi yeaksuhoe,
Thank you foryour interestin Intel MPI Library. All requirements, knowledge base, some product documentation can be found here http://software.intel.com/en-us/intel-mpi-library/

Fill free to ask any question here if you still have one.

Best wishes
Dmitry
0 Kudos
yeaksuhoe
Beginner
2,481 Views
thanks for the information...
I followed the 'Quick Start' in the Getting Started guide provided by intel but when i try to execute it this problem occur :

Credentials for P4 rejected connecting to localhost
Aborting: Unable to connect to localhost

could you help me?
0 Kudos
Dmitry_K_Intel2
Employee
2,481 Views
Quoting - yeaksuhoe
thanks for the information...
I followed the 'Quick Start' in the Getting Started guide provided by intel but when i try to execute it this problem occur :

Credentials for P4 rejected connecting to localhost
Aborting: Unable to connect to localhost

could you help me?

Yeaksuhoe,
Could you provide any details about your cluster configuration? How many nodes do you use? What version of MPI do you use? Make sure that you have smpd.hosts in the current directory.
Could you send us command lines you used?

Best wishes!
Dmitry
0 Kudos
yeaksuhoe
Beginner
2,481 Views

i dont really understand...i have zero knowledge about MPI...
ok now i have 4 workstations (4 processors each) all using windows vista business 64-bit.All connected using LAN.
These workstation are all installed with Intel MPI library version 3.2.
I already have the hello world code.

i want to know how to run it.



0 Kudos
Dmitry_K_Intel2
Employee
2,481 Views
Hi yeaksuhoe,

Well, you said that you got Intel MPI installed on all nodes. But have you started 'smpd' services on all machines?
To check this you can use 'smpd -status' command. If service is not available you need to start it by 'smpd -install' (on each node) and you need to have admin rights on thess machines.

You can register all your computers by 'smpd -hosts ...'. Read 'smpd -help' if you have questions.

Check status of smpd ring by 'smpd -status'.
After that start 'mpiexec --verbose ...' and send me the output if it was not successful.

Best wishes,
Dmitry
0 Kudos
yeaksuhoe
Beginner
2,481 Views
thank you for your help...
i followed your instruction...I check the smpd status on all nodes.
smpd is running on all the nodes.When i set the host using this command (smpd -sethosts P1 P2 P4), this error come up :

[-1:1792]...ERROR:Unable to open the HKEY_LOCAL_MACHINESOFTWAREIntelMPISMPD
registry key, error 5
Access is denied.

Error: unable to save the hosts data.

P1, P2, and P4are the nodes that i have
0 Kudos
Dmitry_K_Intel2
Employee
2,481 Views
Hi yeaksuhoe,

Quoting - yeaksuhoe
[-1:1792]...ERROR:Unable to open the HKEY_LOCAL_MACHINESOFTWAREIntelMPISMPD
registry key, error 5
Access is denied.
Can you edit registry on this machine? Are you just a user with restricted access to the cluster?

You can try to use 'mpiexec -n 3 -hosts 3 P1 P2 P4 test.exe' command.

Best wishes,
Dmitry
0 Kudos
yeaksuhoe
Beginner
2,481 Views
Hi yeaksuhoe,

Can you edit registry on this machine? Are you just a user with restricted access to the cluster?

You can try to use 'mpiexec -n 3 -hosts 3 P1 P2 P4 test.exe' command.

Best wishes,
Dmitry

thanks Dmitry,

i found out that im not the admin in this workstation....when i had log in as admin i can set the host(smpd -sethosts P1 P3)
when i use "mpiexec -n 4 -verbose mpi2.exe"
this come out :

C:UsersAdministratorDesktopMPIMPI2MPI2>mpiexec -n 4 -verbose mpi2.exe
..smpd_get_full_path_name
...fixing up exe name: 'mpi2.exe' -> '(null)'
../smpd_get_full_path_name
..handling executable:
mpi2.exe
..smpd_get_next_host
...smpd_get_next_hostname
.../smpd_get_next_hostname
...smpd_get_host_id
.../smpd_get_host_id
../smpd_get_next_host
..smpd_get_next_host
...smpd_get_next_hostname
.../smpd_get_next_hostname
...smpd_get_host_id
.../smpd_get_host_id
../smpd_get_next_host
..smpd_get_next_host
...smpd_get_next_hostname
.../smpd_get_next_hostname
...smpd_get_host_id
.../smpd_get_host_id
../smpd_get_next_host
..smpd_get_next_host
...smpd_get_next_hostname
.../smpd_get_next_hostname
...smpd_get_host_id
.../smpd_get_host_id
../smpd_get_next_host
..smpd_create_cliques
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
...prev_launch_node
.../prev_launch_node
../smpd_create_cliques
..smpd_fix_up_host_tree
../smpd_fix_up_host_tree
./mp_parse_command_args
.host tree:
. host: P1, parent: 0, id: 1
. host: P3, parent: 1, id: 2
.launch nodes:
. iproc: 3, id: 2, exe: mpi2.exe
. iproc: 2, id: 1, exe: mpi2.exe
. iproc: 1, id: 2, exe: mpi2.exe
. iproc: 0, id: 1, exe: mpi2.exe
.smpd_create_context
..smpd_init_context
...smpd_init_command
.../smpd_init_command
../smpd_init_context
./smpd_create_context
.smpd_make_socket_loop
..smpd_get_hostname
../smpd_get_hostname
./smpd_make_socket_loop
.smpd_create_context
..smpd_init_context
...smpd_init_command
.../smpd_init_command
../smpd_init_context
./smpd_create_context
.smpd_enter_at_state
..sock_waiting for the next event.
..SOCK_OP_CONNECT
..smpd_handle_op_connect
...connect succeeded, posting read of the challenge string
../smpd_handle_op_connect
..sock_waiting for the next event.
..SOCK_OP_READ
..smpd_handle_op_read
...smpd_state_reading_challenge_string
....read challenge string: '3.1 15724'
....smpd_verify_version
..../smpd_verify_version
....smpd_hash
..../smpd_hash
.../smpd_state_reading_challenge_string
../smpd_handle_op_read
..sock_waiting for the next event.
..SOCK_OP_WRITE
..smpd_handle_op_write
...smpd_state_writing_challenge_response
....wrote challenge response: '0d15be2837d1dd0b8ff875c0474e8302'
.../smpd_state_writing_challenge_response
../smpd_handle_op_write
..sock_waiting for the next event.
..SOCK_OP_READ
..smpd_handle_op_read
...smpd_state_reading_connect_result
....read connect result: 'SUCCESS'
.../smpd_state_reading_connect_result
../smpd_handle_op_read
..sock_waiting for the next event.
..SOCK_OP_WRITE
..smpd_handle_op_write
...smpd_state_writing_process_session_request
....wrote process session request: 'process'
.../smpd_state_writing_process_session_request
../smpd_handle_op_write
..sock_waiting for the next event.
..SOCK_OP_READ
..smpd_handle_op_read
...smpd_state_reading_cred_request
....read cred request: 'credentials'
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
User credentials needed to launch processes:
....smpd_hide_string_arg
.....first_token
...../first_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
account (domainuser) [P3Administrator]:

when i put the account and password..this come up :

......first_token
....../first_token
......compare_token
....../compare_token
......next_token
.......first_token
......./first_token
.......first_token
......./first_token
....../next_token
...../smpd_hide_string_arg
...../smpd_hide_string_arg

.....smpd_hide_string_arg
......first_token
....../first_token
......compare_token
....../compare_token
......next_token
.......first_token
......./first_token
.......first_token
......./first_token
....../next_token
...../smpd_hide_string_arg
...../smpd_hide_string_arg
....smpd_hide_string_arg
.....first_token
...../first_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
.....smpd_option_on
......smpd_get_smpd_data
.......smpd_get_smpd_data_from_environment
......./smpd_get_smpd_data_from_environment
.......smpd_get_smpd_data_default
......./smpd_get_smpd_data_default
.......Unable to get the data for the key 'nocache'
....../smpd_get_smpd_data
...../smpd_option_on
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
.../smpd_handle_op_read
...sock_waiting for the next event.
...SOCK_OP_WRITE
...smpd_handle_op_write
....smpd_state_writing_cred_ack_yes
.....wrote cred request yes ack.
..../smpd_state_writing_cred_ack_yes
.../smpd_handle_op_write
...sock_waiting for the next event.
...SOCK_OP_WRITE
...smpd_handle_op_write
....smpd_state_writing_account
.....wrote account: 'P3'
.....smpd_encrypt_data
...../smpd_encrypt_data
..../smpd_state_writing_account
.../smpd_handle_op_write
...sock_waiting for the next event.
...SOCK_OP_WRITE
...smpd_handle_op_write
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
.....smpd_hide_string_arg
......first_token
....../first_token
......compare_token
....../compare_token
......next_token
.......first_token
......./first_token
.......first_token
......./first_token
....../next_token
...../smpd_hide_string_arg
...../smpd_hide_string_arg
....smpd_hide_string_arg
.....first_token
...../first_token
.....compare_token
...../compare_token
.....next_token
......first_token
....../first_token
......first_token
....../first_token
...../next_token
..../smpd_hide_string_arg
..../smpd_hide_string_arg
.../smpd_handle_op_write
...sock_waiting for the next event.
...SOCK_OP_READ
...smpd_handle_op_read
....smpd_state_reading_process_result
.....read process session result: 'FAIL'
.....smpd_hide_string_arg
......first_token
....../first_token
......compare_token
....../compare_token
......next_token
.......first_token
......./first_token
.......first_token
......./first_token
....../next_token
...../smpd_hide_string_arg
...../smpd_hide_string_arg
.....smpd_hide_string_arg
......first_token
....../first_token
......compare_token
....../compare_token
......next_token
.......first_token
......./first_token
.......first_token
......./first_token
....../next_token
...../smpd_hide_string_arg
...../smpd_hide_string_arg
Credentials for P3 rejected connecting to P1
.....process session rejected
.....smpd_post_abort_command
......smpd_create_command
.......smpd_init_command
......./smpd_init_command
....../smpd_create_command
......smpd_add_command_arg
....../smpd_add_command_arg
......smpd_command_destination
.......0 -> 0 : returning NULL context
....../smpd_command_destination
Aborting: Unable to connect to P1
...../smpd_post_abort_command
.....smpd_exit
......smpd_kill_all_processes
....../smpd_kill_all_processes
......smpd_finalize_drive_maps
....../smpd_finalize_drive_maps
......smpd_dbs_finalize
....../smpd_dbs_finalize
0 Kudos
Dmitry_K_Intel2
Employee
2,481 Views
Yeaksuhoe,
Could you try to register your credentialsby 'mpiexec -register' option before starting your application.

One note: smpd is a Windows service and should be run under admin rights. Only one service can exist on each machine, so you do not need to start it again - it should be started only once.

Best wishes,
Dmitry

0 Kudos
yeaksuhoe
Beginner
2,481 Views
Yeaksuhoe,
Could you try to register your credentialsby 'mpiexec -register' option before starting your application.

One note: smpd is a Windows service and should be run under admin rights. Only one service can exist on each machine, so you do not need to start it again - it should be started only once.

Best wishes,
Dmitry


Dmitry,
After i register i try to run it with the command "mpiexec -n 2 mpi2.exe"
this come up

Credentials for P3 rejected connecting to P1
Aborting: Unable to connect to P1


"smpd -hosts" :

P1
P2
P3
P4

i dont really understand about these credentials...could you tell me more about this "credentials"?
0 Kudos
Dmitry_K_Intel2
Employee
2,481 Views
Yeaksuhoe,

"Credential" is a pair of Windows user name and password. They have to be the samefor all nodes in your cluster.

So, you need to start smpd services under admin rights, but you can start your application as a user, but you need to set the same name/password pairs on all nodes.
And you need to be a user in Remote Desktop Users group on all nodes as well.

Please check this and let me know.

Regards!
Dmitry

0 Kudos
yeaksuhoe
Beginner
2,481 Views
Yeaksuhoe,

"Credential" is a pair of Windows user name and password. They have to be the samefor all nodes in your cluster.

So, you need to start smpd services under admin rights, but you can start your application as a user, but you need to set the same name/password pairs on all nodes.
And you need to be a user in Remote Desktop Users group on all nodes as well.

Please check this and let me know.

Regards!
Dmitry


Dmitry,
thanks to your help, now i can run hello world program using MPI...
I found out that my problem lies with credentials...my user name didnt have password but mpi need a password to run...so when i create a password for my account, i can run it.

thank you Dmitry Kuzmin...
0 Kudos
Reply