somoclu

The somoclu project implements self-organizing maps in parallel across CPUs, GPUs, and clusters.

github.com/peterwittek/somoclu
somoclu homepage screenshot

About somoclu

Somoclu is an open-source implementation of self-organizing maps that runs training in parallel. It uses OpenMP on multicore CPUs, MPI to distribute work across a cluster, and CUDA to run on GPUs. A sparse kernel is included for training maps on vector spaces produced by text mining. The program is run from the command line and takes a plain text input file containing either dense or sparse data.

The source notes several limits. The GPU and CPU kernels can produce different maps, because single-precision floats can create ties in distance that are resolved differently. Negative input values are not advised, particularly when the codebook is initialized from 0 to 1. On a single node, OpenMP is more efficient than launching MPI tasks to match the core count. The homepage excerpt is incomplete, so other documentation details are not covered here.

Key features

  • Parallel training with OpenMP on CPUs, MPI across clusters, and CUDA on GPUs
  • Planar and toroid map shapes
  • Rectangular and hexagonal grid layouts
  • Gaussian and bubble neighborhood functions
  • Support for both dense and sparse input data
  • Python, R, Julia, and MATLAB interfaces for dense CPU and GPU kernels
Best for: Developers and researchers who train self-organizing maps on large datasets and want to use multicore CPUs, GPUs, or clusters.
Good for
  • Parallel execution on multicore CPUs, GPUs, and clusters
  • Runs on Linux, macOS, and Windows
  • Includes a sparse kernel for vector spaces generated in text mining
Watch out for
  • Negative input values are not advised, especially with a 0-to-1 codebook initialization
  • CPU and GPU kernels may produce different maps, since single-precision floats are used
  • On a single node, MPI tasks are less efficient than OpenMP threads

somoclu at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Platforms
Linux, macOS, Windows
Open source
Yes · Source code
Language
English
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

somoclu alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in ML Training & Optimization

Well-known listings from the same topic.

All 75

somoclu FAQ

What input format does Somoclu accept?
It takes a plain text input file containing either dense or sparse data. Example files are included in the repository.
Does the input data need to be normalized?
With random initialization, the codebook is filled with numbers from 0 to 1. Either supply your own initial codebook or normalize your data to fall in that range.
Will the CPU and GPU versions produce the same map?
The source says the maps are likely to be different. Single-precision floats can produce identical distances, and the CPU picks the match with the lowest coordinates, which the GPU reduction cannot guarantee.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing