The grumpf-2 library

MAchine Learning and Interactive Systems

The grumpf-2 library
  by Frezza-Buet Herve


Grumpf (stands for graphical utilities for the modelling of parellel functions) is a C++ framework for the design of cellular neural networks. It is parallel, and graphical interfaces are provided to vizualize and debug dynamically the network.

The following people have provided substantial help, during engeneering training periods.

  • Anca Ghitescu (4 months)
    • The whole grumpf ::Action mechanism of grumpf kernel, and the associatied graphical tool.
  • Jacques Weidig (1 year)
    • The grumpf-tools library.
  • Florent Grenier and Louis Deflandre (1 month)
    • The probes.


The core library is
- ParCel6, allowing the setting up of parallel cellular neural network on shared memory computers.
- grumpf-kernel, adds C++ to the previous, and also interactions through TCP/IP clients.

Some text-mode utilities are provided with the package. Try

  • Development
    • grumpf-generator : Generate code skeletons, very convenient.
  • Control of execution
    • grumpf-text-client : A full text client for grumpf servers.
    • grumpf-kill : kills a server (in the right way, freeing semaphors).
    • grumpf-stop-at : Stop computation when a predefine amount of steps is reached.
  • Queries
    • grumpf-autosave : For periodical savings.
    • grumpf-text-viewer : A viewer in text mode.
    • grumpf-action-spy : Detect events sent by the server.
  • Demos
    • grumpf-movie-maker : Get a series of server state snapshots.

Graphical interface

They are based on libglade, and are thus ready for custom-design.
- gruic, a tool for handling graphical interface status.
- grumpf-tools, glade-based viewer, graphical clients as grumpf-monitor.
- grumpf-scene, 3D viewer parametrized by an XML file.

From grumpf-toolsFrom grumpf-scene, see scene.xml.


- grumpf-kernel.
- grumpf-tools.
- grumpf-scene.
- gruic.