pFaces is a generic Cloud-ready, multi-compute-platform, tool for accelerating parallel algorithms. Faces is an acceleration engine that works with kernels representing different software sections.


Accelerating software targeting all compute platforms: CPUs, GPUs, HW-Accelerators, Embedded systems, and Cloud Computing platforms.


A heterogenous compute model

Having a heterogenous compute platform of different compute nodes (CN), pFaces offers an all-you-can-use acceleration model.

It utilizes MPI for intra-node synchronization and OpenCL for low-level device-adapted computation.

Compute tasks are compiled on the file to suit the targeted HW device.

Targeted platforms:
CPUs, GPUs, HW-Accelerators (e.g., FPGAs), Embedded systems, and Cloud computing.

pFaces targets HW platforms formed by a network of heterogenous compute devices.

Extensible loadable compute kernels

The extensible design of pFaces allows handling loadable kernels that are remotely developed.

Users have the freedom to parallelize parts of their software via loadable execute kernels.

Kernels in pFaces are developed in C++ with OpenCL. pFaces offers a friendly SDK to build the kernels remotely (as dynamically loadable plugins) and then run them in pFaces deployments in several HW configurations.

pFaces then takes the effort of running the kernels efficiently on the targeted HW.


You control time

Experience orders of magnitude reductions in execution time as you add more resources, and as the problem complexity increases, compared to your traditional serial implementation.

We guide you design scalable algorithms to benefit from the diversity of compute resources available in your local devices or those we optimized in Cloud platforms.

As a result, you have the control over the time needed to solve your computation problem.

Clear reduction in computation time for constructing a finite-state model from a dynamical system. Refer to [2] for more details.


A flexible web interface

pFacesWeb is an Eclipse-Orion based web IDE for pFaces. Users can create, test and deploy their pFaces projects to run on heterogenous HPC platforms using any web browser. pFacesWeb is a window to any pFaces-powered CN. The following video gives an overview to the functionalities of pFacesWeb.

Overview of pFacesWeb, the web-interface to pFaces.

HPC-powered microservices

Although they lack required resources, some applications still need to solve some computationally intensive problems, possibly, in real-time. Rather than deploying expensive HW for each application, we help you deploy Cloud microservices that accelerates essential sections in your software.

Now, your application can rely on the remote HPC service and low-latency communication to solve problems that would never be solved locally in time.


After redesigning (some parts of) your software, pFaces let you deploy RESTFull interfaces to encapsulate the computation task within a deployable microservice.


Example case-studies

Here we show a self-driving car connected to a microservice deployed in the Cloud.

The accelerated task is a formally-verified controller for the car. Without acceleration, the task takes minutes to solve the correct-by-construction controller synthesis and code generation. With pFaces, it takes less than one second using a single GPU. More details about this case study can be found in [1-3]

More case studies can be found in pFaces repository.


Download and Licenses

To get a demo version of pFaces, visit pFaces’ GitHub repository. The following is a summary of licenses provided to users of pFaces.

Demo
License
Academic
License
Full
License
Types of
Accessible
Devices
CPUs
GPUs
CPUs
GPU
CPUs
GPUs
HWAs
Multi-deviceNoNoYes
Max number
of processing
elements
20up to
1000
Unlimited
MPI Support
for clusters
NoNoYes
Auto-tuneNoYesYes
Accessible from
pFacesWeb
NoYesYes
Licenses are provided as license key files. pFaces comes with the demo license by default when downloaded fro the repository in Github. Contact us to apply for another license.

Try pFaces

For a locally-deployed demo version, visit pFaces’ GitHub repository.

Interested in giving the full version a test-drive in the Cloud ? Contact Us to get access.


Resources

[1] Mahmoud Khaled and Majid Zamani. pFaces: An Acceleration Ecosystem for Symbolic Control. International Conference on Hybrid Systems: Computation and Control (HSCC), April 2019.

[2] Mahmoud Khaled, Eric Kim, Murat Arcak, and Majid Zamani. Synthesis of Symbolic Controllers: A Parallelized and Sparsity-Aware Approach. Tools and Algorithms for the Construction and Analysis of Systems (TACAS) during the 25th European Joint Conferences on Theory and Practice of Software (ETAPS), April 2019.

[3] EPO Patent No. EP3633468A1. Mahmoud Khaled and Majid Zamani. Distributed Automated Synthesis Of Correct-by-construction Controllers. European Patent Office. April 2020.

[4] Abolfazl Lavei, Mahmoud Khaled, Sadegh Soudjani, and Majid Zamani. AMYTISS: Parallelized Automated Controller Synthesis for Large-Scale Stochastic Systems. 32nd Conference on Computer Aided Verification (CAV), to appear, July 2020.

[5] Alex Devonport, Mahmoud Khaled, Murat Arcak, and Majid Zamani. PIRK: Scalable Interval Reachability Analysis for High-Dimensional Nonlinear Systems. 32nd Conference on Computer Aided Verification (CAV), to appear, July 2020.