multicore_sim

— For Large-Scale Power Electronics Circuit

Multicore simulation
for PLECS code-generated circuits.

Compile PLECS-generated C at runtime. Distribute the model across CPU cores. Inspect waveforms in a built-in GUI scope — with signal triggers and capture.

Looking to license multicore_sim? Contact us

Not real-time.  multicore_sim is a multicore simulation tool — simulation speed depends on the model and the host computation power. It does not target deterministic real-time execution.

PLECS / PLECS Coder license not included.  multicore_sim runs C code generated by PLECS Coder. You must obtain valid PLECS and PLECS Coder licenses separately from Plexim. multicore_sim does not bundle, grant, or extend any PLECS license.

multicore_sim GUI scope
fig. 01  ·  GUI scope for multicore simulation

— What it does

A desktop simulator that turns a PLECS code-generated model into a multicore simulation.

  1. 01

    Runtime C compile

    Open a PLECS codegen directory; the simulator builds runtime library for multicore acceleration.

  2. 02

    Multicore execution

    Spread the model across N worker cores. Per-core utilization is plotted so you can see where the load lands.

  3. 03

    On-the-fly inputs

    Edit inputs (references, setpoints, load steps) and apply them while the simulation is running, without restarting.

  4. 04

    Simnote sessions

    Save layout, signals, axis state, memo, preview, and lossless waveform traces in one .simnote archive. Reload anywhere.

— How it works

Four steps from a PLECS export to a running scope window.

  1. 01

    PLECS exports C

    PLECS code-generates the circuit model into portable C sources (.c / .h).

  2. 02

    Compile codes

    multicore_sim invokes gcc to build a shared library directly from the codegen directory, cached per machine.

  3. 03

    Run across cores

    In multicore mode, task instances defined in PLECS are assigned to individual cores and execute in sync with one another.

  4. 04

    Render to the scope

    The GUI samples data and plots them. The display refresh rate is independent of simulation speed.

— Install

A C compiler (gcc) is the only host-side requirement.

Python is bundled into the installer — end users don't need it. The simulator JIT-compiles PLECS-generated C with the host's gcc at runtime.

macOS

Apple Silicon .dmg.

Install gcc — Xcode Command Line Tools (Apple Clang exposed as gcc):

xcode-select --install

Or install GNU GCC via Homebrew: brew install gcc. Verify with gcc --version.

Download .dmg

First launch: right-click → Open.

Windows

Windows 10 / 11 installer .exe.

Install gcc — MSYS2 + MinGW-w64. In the MSYS2 MinGW64 shell:

pacman -S mingw-w64-x86_64-gcc

Then add C:\msys64\mingw64\bin to the system PATH and verify with gcc --version. MSVC (cl.exe) is not supported.

Download .exe

SmartScreen: More info → Run anyway.

— Quick start

Five steps to first plot

  1. Launch multicore_sim.
  2. Open Dir… → select your PLECS codegen directory.
  3. Click Recompile if the cached library is missing.
  4. Tick Multicore, then press Play button to start.
  5. Edit inputs on the right panel.

— FAQ

Common questions.

Is multicore_sim a real-time simulator?

No. It is a multicore simulation tool — wall-clock progress depends on the model size and host hardware, and it does not target deterministic real-time execution. The 30–60 fps refresh you see in the GUI is a display rate, independent of simulation speed.

Do I need a PLECS or PLECS Coder license?

Yes. multicore_sim runs C code produced by PLECS Coder. You must hold valid PLECS and PLECS Coder licenses from Plexim in order to generate that code. multicore_sim does not bundle, grant, or extend any PLECS license — purchasing multicore_sim does not give you a PLECS license, and vice versa.

Do I need Python installed?

No. The shipped installers bundle Python via PyInstaller. End users only need a C compiler (gcc) on PATH.

Why does the OS warn me when I open the app?

Builds are self-signed, not notarized — the warning is normal. Approve once on first launch and it stops appearing.

Can I use MSVC (cl.exe) on Windows instead of MinGW?

No. The build pipeline expects gcc-style flags. Use MinGW-w64 via MSYS2.

I moved the codegen directory to another machine and the library won't load.

The C sources from PLECS Coder are themselves portable, but multicore_sim links them with its own runtime and compiles a shared library (.so / .dylib / .dll) on the host — that build artifact is platform- and machine-specific. So when you move the codegen directory to a different OS, architecture, or even a different host, click Recompile so multicore_sim rebuilds the library against the new machine.

Is there a Linux .deb / .rpm?

Not yet. We will provide it if requested in the future.

— Purchase & Licensing

Commercial licensing.

multicore_sim is distributed under a commercial license. For purchase, evaluation requests, custom builds, or licensing terms, please reach out by email — we'll get back to you within a few business days.

— Advisor · Professor

Shenghui Cui

Power Conversion Systems Laboratory
Seoul National University

— Get started

Try it on your PLECS codegen directory.

Download latest