contributors

# Contributors

Thank You for Developing Taskflow
contributors_1ThankYouForDevelopingTaskflow
Thank You for Using Taskflow
contributors_1ThankYouForUsingTaskflow

# Thank You for Developing Taskflow

We are grateful for the following contributors (alphabetic order) to the Taskflow project:

- Alexander Neumann: made Taskflow importable from external CMake projects

- Anesthesia4: added unit tests for parallel-transform algorithms

- Antony Chan: added unit tests for parallel-transform algorithms

- Andreas Olofsson: supported the Taskflow project through the DARPA IDEA program

- Aaron Boxer: fixed compiler warning caused by unsigned-signed conversion

- Wolfgang Bangerth: fixed the redudndant `nullptr` check

- Benson Muite: fixed compilation errors of the wavefront benchmark

- Cheng-Hsiang Chiu: improved the documentation, fixes typos, and test code examples

- Chandrahas Pundru: implemented cancellation of submitted taskflows

- Chun-Xun Lin: co-created the Taskflow project and designed the core functionalities

- Craffael: improved the CMake to allow relocatable installation

- Dan Kersten: designed an interface to allow customizing worker behaviors upon their creation in an executor

- Daniel Jour: improved cmake through out-of-tree builds and designed the semaphore interface

- Dian-Lun Lin: applied Taskflow to win the champion award of the IEEE HPEC 2020 Graph Challenge

- Filip Strugar: fixed the bugs in fire-and-get taskflow execution and parallel algorithms

- Foge Mistress: helped design the executor interface to avoid over-subscribed threads

- Francisco Facioni: improved the interface of Taskflow exception support through macro

- George Price: improved the documentation pages and fixed several typos

- Glen Fraser: contributed to the design of executor and threadpool

- Guannan Guo: benchmarked different scheduling algorithms and architectures

- Hjxy2012: fixed the compilation error in nvcc due to removed features in C++17

- Hoildkv: fixed documentation errors in explaining the observer interface of executor

- Jean Michael: integrated Taskflow to the OSSIA project and reported feedback in comparison to TBB

- Jiawei Liu: fixed typos in the documentation

- Junlian Gilbey: added the explicit link to libatomic on some archs

- Junlin Huang: fixed the erroneous template argument in serializer and deserializer

- KingDuckZ: helped discover memory leak in the object pool

- Levi Armstrong: added threads target to the CMake file as an interface library

- Lily: helped added Taskflow to the MS vcpkg project

- Longpractice: fixed the MS compilation error for launch-loop algorithm

- Lukas Burgholzer: improved the MAC OS compatibility with the standard variant library

- Luke Majors: implemented a sanitizer algorithm to sanitize deadlock control-flow tasks

- McKay Mower: implemented a sanitizer algorithm to sanitize non-reachable control-flow tasks

- Mamy Ratsimbazafy: fixed the reference link error in the documentation

- Martin Krutak: fixed min/max macros expansion error when windows.h header is included

- Martin Wong: supported the Taskflow project development through NSF and DARPA grant

- Matthew Powelson: fixed the installation error in the cmake script

- Maxi-git: improved the scheduler by removing redundant iterations in the busy stealing loop

- Nate: fixed the compilation error of priority task queue on MS platforms

- Netcan: designed a domain-specific graph language to simplify the creation of taskflows

- Nan Xiao: fixed compilation error of unit tests on the Arch platform

- Ojas Mithbavkar: implemented cancellation of submitted taskflows

- Pancpp: removed hard-coded installation prefix with relative install path

- Paolo Bolzoni: helped remove extraneous semicolons to suppress extra warning

- Patrik Huber: fixed the typos of documentation

- Povilas Kanapickas: helped design a new scheduling invariant to avoid busy stealing

- qbojj: helped fixed documentation errors related to dependent asynchronous tasking

- Zizheng Xiong: added data-parallel programming models through GSoC 2022

- Pursche: fixed compilation warning on MSVC

- Remi Bedard-Couture: added big object compilation support on MSVC

- Robin Soderholm: fixed the runtime error of cudaEvent destructor

- <a href="https://github.com/"https://github.com/HRXWEB>Ruixin Huang: fixed bugs in conditional tasking documentation

- Soonho Kong: fixed the compilation warning of unused lambda variables

- Sztergbaum Roman: improved the CMake file to remove global setting

- Timo Heister: fixed documentation typos and integrated Taskflow to the deal.ii project

- Trevor Vincent: added support for the Intel C++ compiler (v19+)

- Tsung-Wei Huang: created the Taskflow project and designed the core functionalities

- Vedanta Krishna Bhutani: implemented cancellation of submitted taskflows

- Vlad Serebrennikov: implemented the interface to attach user data in a task

- Vedran Miletic: patched the OS detection utility to include Solaris and illumos

- Vladimir Vondrus: helped modernize Taskflow handbook using m.css and make pages mobile-friendly

- Vladyslav: fixed comment errors in README.md and examples

- Yasin Zamani: benchmarked the parallel sort with the TBB baseline

- Yibo Lin: helped design the interface of conditional tasking

- Yilin Qiu: helped implement the dependency removal methods in Taskflow

- Weile: helped added Taskflow to the compiler explorer interface

- Zizheng Guo: applied Taskflow to speed up VLSI timing analysis and shared his feedback

Please contact us if we forgot your name!

# Thank You for Using Taskflow

We are grateful for the following organizations and projects that are using Taskflow:

- OpenTimer: A high-performance timing analysis tool for VLSI designs

- OSSIA: An open-source software system for interactive applications

- NovousCore: An emulating project for World of Warcraft (Wrath of the Lich King)

- deal.II: A C++ software library to support the creation of finite element code

- MyDataModels: An online platform for self-service machine learning for small data

- VSD: An online education platform for VLSI system design using open-source software

- OpenRoad: A 24-hour Fully Automatic Layout Generation Flow

- Open Ephys: Open-source tools for neuroscience research

- LiveHD: An infrastructure designed for Live Hardware Development

- ROS-Industrial Consortium: Organization for advanced factory automation

- revealtech.ai: Mobile application with focused and intelligent analytics on the edge

- PyRepScan: A Git Repository Leaks Scanner Python Library written in C++

- SNIG: An open-source inference engine for large sparse deep neural network

- OpenPhySyn: A plugin-based physical synthesis optimization kit as part of the OpenRoad flow

- LPMP: A C++ framework for developing scalable Lagrangian decomposition solvers

- GROK: World's Leading Open Source JPEG 2000 Codec

- RavEngine: A fast, easy to use C++17 3D game library for modern computers

- RPGMPacker: CLI program for packaging RPG Maker games in an automated build/deploy pipeline.

- Leanify: A lightweight lossless file minifier and optimizer

- Xanadu AI: Accelerate simulation using quantum computing

- Operon: Modern C++ framework for Symbolic Regression using Genetic Programming

- Explosion: A modern cross-platform game engine

- BuildCC: An alternative to Makefiles while using the feature rich C++ language.

- SPLA: Generalized sparse linear algebra framework for multi-GPU computations.

- MethaneKit: Modern 3D graphics rendering abstraction API and cross-platform application framework

- XeGTAO: Implementation of the Practical Real-time Strategies for Accurate Indirect Occlusion

- ChainBlocks: A scripting tool to build tools

- RapidFuxx: Rapid fuzzy string matching in Python using various string metrics

- AtomicDEX: Secure wallet and decentralized exchange rolled into one application

- OOX: Out-of-order task execution library in modern C++

- ReAgent: An open end-to-end platform for applied reinforcement learning developed and used at Facebook

- Beast-Build: A build system built for speed and power

- Gate Sizing: A task-parallel gate sizing algorithm for VLSI design automation

- Shards: A scripting tool to build tools

- RAPIDS CuCim: An open-source, accelerated computer vision and image processing software library

- Tesseract Robotics: Lightweight robotics motion planning environment

- NcEngine: 3D game engine written in C++20 targeting Windows

- AMD Vivao: AMD's software synthesis suite for hardware designs

- ModuleWorks: Industry-proven ModuleWorks CAD/CAM technology into software solutions

... more at GitHub.

Please contact us if we forgot your name!