Product
Torch
Torch is a scientific computing framework for machine learning built on the LuaJIT scripting language with a C/CUDA core, designed to put GPUs first and surrounded by a large ecosystem of community packages.
- Release date
What Torch is
Torch is a scientific computing framework with wide support for machine learning algorithms, and it is designed to put GPUs first.[1] It is built on the LuaJIT scripting language, with a C/CUDA implementation underneath.[1] That split is the heart of the design: the parts a researcher edits — model definitions, training loops, data handling — live in a lightweight scripting language, while the numerically heavy work is handed to compiled code that can run on a graphics card. The aim is to keep experimentation quick to write and quick to run at the same time.
Where it came from
Wikipedia gives 2002 as Torch's initial release year.[2] The repository named torch7 on GitHub was created on 18 October 2013, and GitHub records the project's license as a custom BSD-style license.[3] The two dates describe different things: the first public release of the framework, and the later point at which this widely known repository was placed on GitHub. Between them, the project moved from a research-released numerical library into a codebase that other people could clone, read and build on.
Main features
Torch's core features include a powerful N-dimensional array, linear-algebra and numeric optimization routines, neural network and energy-based models, fast GPU support, and ports to iOS and Android backends.[1] The N-dimensional array is the foundation of everything else: it generalises vectors and matrices to any number of dimensions, so a batch of images or a stack of feature maps is just another array, and the same slicing and arithmetic operations apply. Linear algebra and optimization routines sit directly on that type, which is what a training procedure ultimately needs — matrix products and repeated parameter updates. Neural network and energy-based models are provided as ready-made building blocks rather than something each user has to write from scratch. The iOS and Android backends mean the same framework can be taken off the desktop and onto mobile hardware.
The package ecosystem
Torch comes with a large ecosystem of community-driven packages in machine learning, computer vision, signal processing, parallel processing, image, video, audio and networking.[1] For a user this changes the starting point of a project: instead of opening an empty file, one can pull in packages for reading images, loading audio, or spreading work across several processors, and concentrate on the model itself. Because the packages are community-driven rather than written by a single core team, the ecosystem grows with whatever its users happen to be working on.
The design goal
The stated goal of Torch is maximum flexibility and speed in building scientific algorithms while keeping the process extremely simple.[1] These goals pull against each other in practice. Flexibility usually costs speed, because general code carries overhead; speed usually costs simplicity, because fast code tends to be specialised and awkward to write. Torch's answer is the two-layer structure described above — a scripting layer that stays simple and flexible to edit, and a compiled layer that carries the performance-critical work.
Who used it
Torch says it was already used within Facebook, Google, Twitter, NYU, IDIAP and Purdue.[1] The list mixes industrial research teams with university labs, which is typical of a framework that started as a scientific computing tool and was adopted by people building learning systems: both groups care about the same thing, namely getting an idea implemented and measured quickly.
Where it sits
The choices that define Torch are visible in its parts: LuaJIT as the front end, C/CUDA as the back end, an array type at the centre, models supplied as components, and a package ecosystem around the edges. Frameworks that came later made different choices about the scripting language and the surrounding tooling, but the underlying arrangement — write in a high-level language, compute on the GPU, reuse other people's packages — is the pattern Torch helped establish and then shared with the field it grew out of.
Notes and sources
- Torch: Scientific computing for LuaJIThttps://torch.ch/
- Torch (machine learning)https://en.wikipedia.org/wiki/Torch_(machine_learning)
- torch/torch7 repository metadatahttps://api.github.com/repos/torch/torch7
Cite this page: Torch. TellWorld, https://www.tellworld.net/products/torch. Updated 2026-11-08