LuZc has six different compiled forms, which are handled differently and implement the process differently. The two main sets are the luzd/luzc pair which operate in a client/server relationship; and luzl which is a single program to do everything. All three can be based on OpenMP or be a single-threaded version. Future versions will use OpenCL, MPI and eventually a purpose-built parallelism suite.
Example console session
First, the daemon process needs to be started by calling luzd. Afterwards, luzc is called with a script as an argument. Both programs will return control almost immediately. luzc can be called repeatedly, even if the last script hasn't finished. The daemon process will then execute all of the commands in the script in the background. There is (currently) no signal for completion. The deamon can be told to terminate after completing all tasks.
The program luzl is called with the name of the script file as the only argument, and will not return control until the entire script is completed.