Application Execution
The next subsections describe how to execute applications with the COMPSs Python binding.
Environment
The following environment variables must be defined before executing a COMPSs Python application:
- JAVA_HOME
Java JDK installation directory (e.g.
/usr/lib/jvm/java-8-openjdk/
)
Command
In order to run a Python application with COMPSs, the runcompss
script
can be used, like for Java and C/C++ applications. An example of an
invocation of the script is:
compss@bsc:~$ runcompss \
--lang=python \
--pythonpath=$TEST_DIR \
$TEST_DIR/application.py arg1 arg2
Or alternatively, use the pycompss
module:
compss@bsc:~$ python -m pycompss \
--pythonpath=$TEST_DIR \
$TEST_DIR/application.py arg1 arg2
Tip
The runcompss
command is able to detect the application language.
Consequently, the --lang=python
is not mandatory.
Tip
The --pythonpath
flag enables the user to add directories to the
PYTHONPATH
environment variable and export them into the workers, so
that the tasks can resolve successfully its imports.
Tip
PyCOMPSs applications can also be launched without parallelization
(as a common python script) by avoiding the -m pycompss
and its flags
when using python
:
compss@bsc:~$ python $TEST_DIR/application.py arg1 arg2
The main limitation is that the application must only contain @task
,
@binary
and/or @mpi
decorators and PyCOMPSs needs to be installed.
For full description about the options available for the runcompss command please check the Executing COMPSs applications Section.