How can I run my MPI code with several nodes? - mpi

I have a ROCKS Cluster with 1 frontend and 2 nodes (compute-0-1, compute-0-4) and. I can run my code only in frontend but when I try to run my code whit the nodes of many ways:
output by console of frontend
It always returns me:
mpirun was unable to launch the specified application as it could not find an executable
machine_file is located in default path and I tried to put it in a path of my project and contains:
compute-0-1
compute-0-4
¿What am doing wrong?

Related

(Dagster) Schedule my_hourly_schedule was started from a location that can no longer be found

I'm getting the following Warning message when trying to start the dagster-daemon:
Schedule my_hourly_schedule was started from a location Scheduler that can no longer be found in the workspace, or has metadata that has changed since the schedule was started. You can turn off this schedule in the Dagit UI from the Status tab.
I'm trying to automate some pipelines with dagster and created a new project using dagster new-project Scheduler where "Scheduler" is my project.
This command, as expected, created a diretory with some hello_world files. Inside of it I put the dagster.yaml file with configuration for a PostgreDB to which I want to right the logs. The whole thing looks like this:
However, whenever I run dagster-daemon run from the directory where the workspace.yaml file is located, I get the message above. I tried runnning running the daemon from other folders, but it then complains that it can't find any workspace.yaml files.
I guess, I'm running into a "beginner mistake", but could anyone help me with this?
I appreciate any counsel.
One thing to note is that the dagster.yaml file will not do anything unless you've set your DAGSTER_HOME environment variable to point at the directory that this file lives.
That being said, I think what's going on here is that you don't have the Scheduler package installed into the python environment that you're running your dagster-daemon in.
To fix this, you can run pip install -e . in the Scheduler directory, although the README.md inside that directory has more specific instructions for working with virtualenvs.

Relative pathing via scheduled path

I'm trying to create a batch that can run my R script through windows Task Scheduler. I have this R project running where I can run my setup code - which applies packages and sources the rest of the script files:
C:\>"C:\Program Files (x86)\R-4.0.2\bin\Rscript.exe" "location of startupscript.r"
As soon as I get to a source command, where I have used relative pathing, with the path being
source("./Scripts/script to source 1.R")
I get an error that this file is not found, is there a way to fix this?

Omnet++ Simulation failing to run makefile

I'm currently an undergraduate researcher and I've been tasked with researching knowledge defined networking. The research in particular deals with very advanced code that's way beyond my minimal knowledge of omnet. The first instruction to build the network is to run the makefile (found here: https://bpaste.net/show/d26a592a563a) to generate the "networkRL" needed by the python script.
I've imported all of the files needed for the simulation but whenever I try to run the makefile I get an error:
"Error starting process.
Cannot run program "C:\Users\Sierra\DRL\omnet\router\makefile": Launching failed"
Or when I try to run the entire simulation it asks:
"Enter parameter 'NetworkAll.node0.tcontroller.folderName':"
I'm not sure if these are simple problems to solve and I'm just inexperienced, but any help would be greatly appreciated. I can post all of the source, ned, and header files if necessary. I didn't want to pack this entire post with 15+ code links if the makefile was the only one needed to solve this issue.
I'm using OMNeT version 4.6 on Windows 10 if that information is relevant
The term "run the makefile" means: run make in the directory where makefile is located. In OMNeT++ one can do this in two ways.
First way:
Open mingwenv.cmd from OMNeT++ main directory.
In the mingw console go to main directory of the project, for example:
cd /C/Users/Sierra/DRL/
In the mingw console type:
make
Second way:
In OMNeT++ choose File | Import.. |Existing Project into Workspace and select the project.
Build the project choosing Project | Build Project.
According the second error: open omnetpp.ini and set value for folderName parameter, for example:
**.folderName = "/c/some/directory"
or
**.node0.tcontroller.folderName = "/c/some/directory"

using MPI: What on earth is "execvp error on file" error?

I am using my own laptop locally with win 10 system and intel parallel studio .
After I compiled my mpi code with mpiifort and run it with mpiexec for the first time. It warns me to input account and password, like below
I am sure I put in the correct password. But it just didn't work. What does "execvp error" mean? I never encountered this problem before on my old win8 system. I just installed this new win10 system on my laptop, everything is new. Could somebody please help me instead of making close vote without any comment? At least, say something
execvp error on file is the error from doing execvp system call. It is variant of exec system call used to start programs. In your case the mpiexec program tries to start the mpi-learning-pack.exe file on the target hosts (according to settings, probably some environment settings). This error says that it can't start your program on target hosts, because either it is not executable file, or cannot be found (not copied to target hosts or have no full path).
mpiexec does not copy file to targets, you should copy it to every target hosts.
You can also check if it executable by manually starting it on target host: just login to target host and type mpi-learning-pack.exe without mpiexec;
program may not start if there are no any of required library on target.
Or your account has no enough privileges like https://software.intel.com/en-us/forums/intel-clusters-and-hpc-technology/topic/607844 https://software.intel.com/en-us/forums/intel-clusters-and-hpc-technology/topic/624054
Or you just should use relative (mpiexec [options] .\mpi-learning-pack.exe) or full path (mpiexec [options] e:\w\work\fortran\_test_and_learning\mpi-learning-pack.exe) of target executable like in https://software.intel.com/en-us/forums/intel-clusters-and-hpc-technology/topic/624054

Specifying multiple host files to mpirun

I want to run an mpi program on multiple hosts on two sites (Rennes and Nancy in this example). I would like to provide one set of arguments to hosts on site Rennes and another set to hosts on site Nancy. I am trying to do this with the following command:
mpirun -configfile mpi_cfg.txt
where mpi_cfg.txt contains:
-machinefile conf/rennes/workernodes.txt parallel_wan_test conf/rennes/running.cfg
-machinefile conf/nancy/workernodes.txt parallel_wan_test conf/nancy/running.cfg
Now the problem is that it will launch the program correctly for line corresponding to rennes. But for nancy, instead of launching at hosts on nancy, it would launch at hosts on rennes with arguments for nancy.
Could somebody please point out to me the right way to do this.
Thanks in advance
If you really want to do this with just this one file, I think you're stuck.. MPI is going to read the first line and then try it, regradless fo what the second line says.
You can still automate with something like this:
1) have two files, mpi_nancy_cfg.txt and mpi_rennes_cfg.txt
2) then, in bash shell
mpirun -configfile mpi_$(hostname -s)_cfg.txt

Resources