In NESL it is possible to evaluate any top-level expression on a remote machine. The remote machine can be another workstation, a Cray Y-MP, a CM-2 or CM-5, a Maspar, or one of the supported MPI machines. To run expressions on a remote machine, configurations first need to be set up using defconfig (see Section 5.5). Assuming that the configuration files have already been set up, this section describes the top-level commands used for remote execution.
This displays a list of currently-available machine configurations. Note that the same physical machine might be in multiple configurations, depending on the turnaround time requested for a job, how many processors are used, etc.
<Nesl> show configs; The current machine configurations are: LOCAL CRAY CM5 To use one type: set config <config>;
set config config;
This causes all future NESL expressions (until the next set config command) to be evaluated on the machine configuration config. (In order to use NESL graphics, you must first give the remote machine access to your X server by executing the command xhost + remote_machine in a local shell.)
<Nesl> set config cray; [...] <Nesl> 2 + 3; Compiling..Writing..Loading on PSC Cray C90 (mario).. Running.. Exiting..Reading.. it = 5 : int
This displays parameters of the current machine configuration. At a minimum, it displays the name of the configuration, the default memory size, the path to the VCODE interpreter , the path to the X11 graphics interface program xneslplot (see Section 5.5), and the directory used by the NESL system for temporary files. Remote configurations may also include the name of the remote machine, the rsh command used to start up the VCODE interpreter, and the name of the script used to submit batch jobs.
<Nesl> show config; Configuration Name: "cray" interp_file: "/afs/cs.uvwx.edu/user/joeuser/nesl/bin/vinterp.cray" memory_size: 3600000 temp_dir: "/afs/cs.uvwx.edu/user/joeuser/tmp/" plot_file: "/afs/cs.uvwx.edu/user/joeuser/nesl/bin/xneslplot.cray" rsh_command: "rsh -l joeuser mario.psc.edu" machine_name: "CRAY C90 at PSC" background_command: "background-cray"
set memory_size n;
This sets the amount of memory that the VCODE interpreter allocates for data storage in the current configuration. In the standard configurations, it defaults to 1048576 () 64-bit words. See Section 2.4 for what happens when you run out of memory.