# Running on a Remote Host

Run Feko remotely with automatic file transfer between the local machine and host.

Remote launching allows for example the user to run the Feko GUI on a local Windows PC, but start a sequential or parallel Feko job directly from one of the GUI components or a terminal on a remote workstation or cluster. There are two main mechanisms for remote launching: The SSH/RSH based method and the MPI based method.

The SSH/RSH method
This remote launching method is cross platform capable, for example, it is possible to launch a remote job from a Windows PC on a UNIX workstation or vice-versa. In order to use the remote launching facility, SSH must be available with public key authentication.
The MPI method
This method is currently only available between Windows hosts. It is based purely on Windows commands and relies on a network share for copying files and uses the MPI daemon (as shipped with Feko) for starting the remote process. Also for this method to work properly, the related option must have been selected during installation of Feko on the remote machine. This consists of creating a shared network directory.

For more information regarding the setup requirements for remote launching using either method, please see the detailed installation and setup instructions in the Feko Installation Guide.

## General settings and usage

On Windows and Linux, this remote launching facility can be used directly from within the GUI components, CADFEKO, EDITFEKO or POSTFEKO. As described for parallel launching, open the Component launch options dialog.This dialog is shown in Figure 2. Enter the hostname or IP address of the remote host in the Remote host input field under Remote execution and select the appropriate Remote execution method. In order to use remote launching after it has been set up, do the following: On the Solve/Run tab, in the Run/Launch group, click the  Remote icon. A check mark will be displayed next to the menu option. Runs of the Feko solver (either sequential or parallel if Parallel is also checked) will employ Remote Feko execution on the remote host while this option remains checked.

In order to use the remote launching facility from the command line, the following command can be used:
runfeko example1 --remote-host h

The parameter h following --remote-host gives the host name or the IP address of the remote host. This will automatically use the SSH based remote launching method.

In order to use the MPI based method, the following command can be used:
runfeko example1 --remote-host h --remote-use-mpi
This command line option of RUNFEKO may be combined with other options, for example using the following command:
runfeko example1 --remote-host h -np 4 --machines-file m

The above command would launch a parallel job with 4 processes using the nodes as listed in the machines file m, and the parallel job is then launched from the remote host h (typically the control node of a cluster).

As previously mentioned, the remote launching facility has an automatic file transfer feature included, negating the requirement to work on a shared network drive. On the remote host, Feko will create a temporary sub-directory in the user’s home directory with the name remote_FEKO_job_xxx (xxx is a unique number) and all the Feko files will be placed there for the duration of the Feko solution. After the completion of the remote execution, all files will be copied back to the client and this temporary subdirectory on the remote machine will be removed.

## Important notes regarding remote launching of parallel Feko jobs

• If a machines file is specified while launching the job locally, this will also be used on the remote host (it will be copied to the remote host). In this way a parallel job can be configured on the local client (on for example, two hosts node1 and node2) but the Feko solution can be launched remotely on another computer - which will then be the control node of the parallel solution. This makes sense when launching a parallel Feko job from a Windows PC on a Linux cluster.
• If no local machines file is specified when launching a remote solution it is important to note that default options as set on the remote host will be used. Therefore Feko will read the machines.feko file on the remote host, and not on the local host where jobs are launched.

In addition note that when launching a remote job from the GUI the machines file will always be present, but not from the command line unless explicitly included in the command. If the machines file is omitted the remote parallel hosts are then found using the default mechanism (from the environment variable FEKO_MACHFILE, default location for the file machines.feko and so forth). More information can be found in Running the Parallel Version).