streamsx-sc

Overview

SPL compiler for IBM Streams running on IBM Cloud Pak for Data.

streamsx-sc replicates a sub-set of Streams 4.3 sc options.

streamsx-sc is supported for Streams 5.x (Cloud Pak for Data). A local install of Streams is not required, simply the installation of the streamsx package. All functionality is implemented through the Cloud Pak for Data and Streams build service REST apis.

Cloud Pak for Data configuration

Integrated configuration

The Streams instance (and its build service) and authentication are defined through environment variables:

  • CP4D_URL - Cloud Pak for Data deployment URL, e.g. https://cp4d_server:31843.

  • STREAMS_INSTANCE_ID - Streams service instance name.

  • STREAMS_USERNAME - (optional) User name to submit the job as, defaulting to the current operating system user name.

  • STREAMS_PASSWORD - Password for authentication.

Standalone configuration

The Streams build service and authentication are defined through environment variables:

  • STREAMS_BUILD_URL - Streams build service URL, e.g. when the service is exposed as node port: https://<NODE-IP>:<NODE-PORT>

  • STREAMS_USERNAME - (optional) User name to submit the job as, defaulting to the current operating system user name.

  • STREAMS_PASSWORD - Password for authentication.

Usage

streamsx-sc [-h] --main-composite name [--spl-path SPL_PATH]
        [--optimized-code-generation] [--no-optimized-code-generation]
        [--prefer-facade-tuples] [--ld-flags LD_FLAGS]
        [--cxx-flags CXX_FLAGS] [--c++std C++STD]
        [--data-directory DATA_DIRECTORY]
        [--output-directory OUTPUT_DIRECTORY] [--disable-ssl-verify]
        [--static-link] [--standalone-application]
        [--set-relax-fusion-relocatability-restartability]
        [--checkpoint-directory path] [--profiling-sampling rate]
        [compile-time-args [compile-time-args ...]]

Options and arguments

compile-time-args:

Pass named arguments each in the format name=value to the compiler. The name cannot contain the character = but otherwise is a free form string. It matches the name parameter that is specified in calls that are made to the compile-time argument access functions from within SPL code. The value can be any string. See Compile-time arguments .

-M,–main-composite:

SPL Main composite

-t,–spl-path:

Set the toolkit lookup paths. Separate multiple paths with :. Each path is a toolkit directory or a directory of toolkit directories. This path overrides the STREAMS_SPLPATH environment variable.

-a,–optimized-code-generation:

Generate optimized code with less runtime error checking

—no-optimized-code-generation:

Generate non-optimized code with more runtime error checking. Do not use with the –optimized-code- generation option.

-k,–prefer-facade-tuples:

Generate the facade tuples when it is possible.

-w,–ld-flags:

Pass the specified flags to ld while linking occurs.

-x,–cxx-flags:

Pass the specified flags to the C++ compiler during the build.

–c++std:

Specify the language level for the underlying C++ compiles.

–data-directory:

Specifies the location of the data directory to use.

–output-directory:

Specifies a directory where the application artifacts are placed.

–disable-ssl-verify:

Disable SSL verification against the build service

Deprecated arguments

Arguments supported by sc but deprecated. They have no affect on compilation.

-s,–static-link

-T,–standalone-application

-O,–set-relax-fusion-relocatability-restartability

-K,–checkpoint-directory

-S,–profiling-sampling

Toolkits

The application toolkit is defined as the working directory of streamsx-sc.

Local toolkits are found through the toolkit path set by –spl-path or environment variable STREAMS_SPLPATH. Local toolkits are included in the build code archive sent to the build service if:

  • the toolkit is defined as a dependent of the application toolkit including recursive dependencies of required local toolkits.

  • and a toolkit of a higher version within the required dependency range does not exist locally or remotely on the build service.

The toolkit path for the compilation on the build service includes:

  • the application toolkit

  • local tookits included in the build code archive

  • all toolkits uploaded on the Streams build service

  • all product toolkits on the Streams build service

The application toolkit and local toolkits included in the build archive are processed prior to the actual compilation by:

  • having any Python SPL primitive operators extracted using spl-python-extract

  • indexed using spl-make-toolkit

New in version 1.13.