Xplicit Computing's Objective Massively-Parallel Unified Technical Environment

Unification across all finite methods and types: FDM, FEM, FVM, LBM, level-sets, mesh generation, and more!

Server-Client Platform

Systems & Algorithms

  • System (noun) - an object that manages data, geometry, and attached algorithms

    • One type of system, made unique during runtime by customizing attributes

  • Algorithm (verb) - a function that operates on a system or other arguments

    • 160+ unique algorithms for a spectrum of behaviors (physics, conditions, etc)

Core Principles

  • Hierarchy - organize projects in a tree to arbitrary complexity

  • Regularity - standard interfaces and parallelization conventions

  • Modularity - reuse and expansion of components for dev and end-use

Our novel libraries and applications leverage well-established and patent-pending Computer-Aided Engineering (CAE) abstractions to unify all fields of numeric computing, featuring modern C++20 functional polymorphism, template meta-programming and recursive lambdas, static & dynamic code generation, and dynamic dispatch on parallel computing devices. The art is in abstracting an elegant basis set of software building blocks with near-finite potential - a first for high-performance computing.

Software Stack

  1. Schema layer* - libxcmessages and protobuf-generated language bindings (C++, C#, ObjC, Python, ...)

    • Free and open encoding/decoding sub-submodule for developers

  2. Protocol layer* - libxccommon classes and utilities shared across applications

    • Proprietary embedded submodule for developers

  3. Application layer - distributed executable binaries that run on host CPU computer

  4. Runtime layer* - device programs for parallel compute (OpenCL) and render (OpenGL)

    • Compiled just-in-time for SIMD devices such as GPU (Nvidia, AMD, ...)

* whole or partial machine-generated code

client login allows teams to connect to any networked server 

XCOMPUTE-SERVER hosts a team's numerical systems and algorithms (aka simulation) and performs all heavy computations using CPU and GPU cores. As changes occur, updates are pushed to all network-connected clients.

XCOMPUTE-CLIENT is a free interface for team members to access and control simulations over LAN and WAN. The standard xc::io protocol transceives messages such as graphics to be rendered in shader pipeline.


Facilitating teams through concept, preliminary, critical design, and manufacture stages.


1. Organize complex systems using generic building-blocks.

2. Assign geometries and models (comprised of algorithms).

3. Connect and couple results across teams and disciplines.

4. Refine and improve systems fidelity as needed.

systems can contain sub-systems, visualized as a tree


Modern analyses require systems interact over wide space-time scales and with high topological complexity. Patent-pending software abstractions provide a way to divide each problem and integrate as part of the whole, including level-set and hybrid methods. During execution, sequences of algorithms call upon varying geometry types and runtime behavior is redirected to take advantage of key optimizations by type, yielding up to 50x performance benefit.

explicit topology and implicit signed-distance fields


Continuous Galerkin Finite Element Method (FEM-CG) accurately and quickly solves steady-state and time-varying analyses, supporting structural, thermal, and continuum multi-physics. Ground-up shape functions and algorithms utilize implicit ViennaCL linear solvers that run on parallel OpenCL devices.

local stresses on complex structures and components


Sophisticated compressible and incompressible CFD capabilities are based on Finite Volume (FVM), Finite Difference (FDM), and Lattice-Boltzmann methods (LBM). A modular approach to algorithms enables natural inclusion of viscid, inviscid, heat transfer, and turbulence modeling on any device!

real-time conservation-based transport and state equations

© Xplicit Computing 2014-2020

  • Grey LinkedIn Icon
  • Grey Twitter Icon