Adam Paszke is a Principal Research Scientist with over a decade of experience building core tooling for deep learning, best known as an author and longtime contributor to PyTorch. He blends rigorous mathematics and systems-level programming to optimize neural network training, compiler backends, and automatic differentiation across projects from torch7 and cutorch to XLA and JAX. At Google/DeepMind he progressed through research scientist ranks, shipping low-level C/CUDA fixes, memory and type-safety improvements, and distributed training examples that balance research clarity with production robustness. His work spans languages and ecosystems—Haskell bindings for LLVM, a research array language, and probabilistic tooling—revealing a rare fluency across compilers, AD, and GPU kernels. Colleagues rely on him to turn subtle numerical and memory bugs into reliable primitives that scale to large models and accelerators.
12 years of coding experience
6 years of employment as a software developer
Bachelor of Science (BSc), Mathematics, Bachelor of Science (BSc), Mathematics at University of Warsaw
Research language for array processing in the Haskell/ML family
Role in this project:
Backend Developer
Contributions:870 reviews, 852 commits, 699 PRs in 3 years 4 months
Contributions summary:Adam contributed to the research language for array processing in the Haskell/ML family. The commits focused on refactoring, modifying the parser for core language features, and adding built-in features like the `FromInteger` interface with associated type, and functions for array manipulation, by implementing primitives and built-in functions to the core. The changes also included optimizations and improvements to the underlying LLVM-based compiler, with particular focus on enabling floating point operations, custom linearizations.
Contributions:7 reviews, 43 commits, 39 PRs in 1 year 9 months
Contributions summary:Adam primarily focused on enhancing the Haskell bindings for LLVM. Their contributions involved modifying the LLVM-HS library's internal modules to allow for non-bracketed management of contexts and modules, useful when the compilation process is driven from outside of Haskell. The user also removed OrcJITv1, with associated cleanups and fixes, and added support for object linking layers. Furthermore, they worked on enabling absolute symbols in JITDylibs and exposing function attributes in the AST.
haskellllvmllvm-hshaskell-bindingscode-generation
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.