Star-P capabilities can be substantially and easily extended
through the use of Star-P Connect—a powerful API/SDK
tool that allows addition of custom, user-defined functions
and libraries. Moreover, Star-P Connect supports easy additions
of unlimited variety of data—and task-parallel libraries
containing user-defined, community, or commercial best-of-breed
computational capabilities.

View Larger Image >
As seen in the diagram above, Star-P architecture provides
for natural expansion of its parallel computing capabilities,
through the addition of custom libraries.
A user of Star-P + VHLL parallel computing environment has
the ability to easily add more function for both task- and
data-parallel computing. The add-on functions may be
- Application-specific, purpose-developed
by the user
- Third-party (commercial, community,
application-specific etc.) library functions
- Hardware-based functions (computing
accelerators)
In all three cases, Star-P Connect Library API allows the
user to add functions following a simple four-step process
(illustrated below for adding a “foo” function):
Adding and Using Library- or Hardware-based
Computing Functions

View Larger Image >
Step 1: First, a Star-P Connect package,
written in C++, must be created.
Step 2: Then, the Starp-P Connect package
(.cpp files) must be compiled and converted to a shared object
form. At this point, the add-on function is available for
computing from the Star-P + VHLL environment, almost.
Step 3: The third and last “preparation
for use” step is to load the package into the Star-P
+ VHLL environment.
Step 4: Finally, after the package has been
loaded, the user can perform computations with the add-on
functions included in the package, using the appropriate Star-P
compute commands to trigger the computation.
Note that with Star-P Connect, it is possible for the user
to add a new parallel computing function, without using an
add-on library. Simply, to achieve this, one would include
the full code of the new function on the package instead of
just a wrapper for the function.
|