The Alchemy project aims to trasmutate programs into circuits for either faster execution or execution with reduced energy consumption on specialized hardware like FPGAs. Our project is developing technology to automatically synthesize programs written in C using dynamic data structures, or multi-thread programs in C# or data-parallel programs using Microsoft’s Accelerator system into circuits.
- Byron Cook, Ashutosh Gupta, Stephen Magill, Andrey Rybalchenko, Jiří Šimša, Satnam Singh, and Viktor Vafeiadis, Finding heap-bounds for hardware synthesis, in Formal Methods in Computer Aided Design (FMCAD), 15 November 2009.
- David J. Greaves and Satnam Singh, Exploiting System-Level Concurrency Abstractions for Hardware Descriptions, no. MSR-TR-2009-48, 22 April 2009.
- Satnam Singh, David Greaves, and Sutirtha Sanyal, Synthesis of a Parallel Smith-Waterman Sequence Alignment Kernel into FPGA Hardware, in Many-Core and Reconfigurable Supercomputing Conference 2009, Berlin., IEEE Computer Society, March 2009.
- David Greaves and Satnam Singh, Application Specific Circuits with Concurrent C# Programs, in Draft under submission to a conference., IEEE, 5 February 2009.
- Byron Cook, Ashutosh Gupta, Satnam Singh, and Viktor Vafeiadis, Gate Synthesis for C Programs with Heap, in Draft under submission., IEEE Computer Society, 7 January 2009.
- David Greaves and Satnam Singh, Using C# Attributes to Describe Hardware Artefacts within Kiwi, in Specification and Design Languages Forum (FDL) 2008., IEEE Computer Society, September 2008.
- David Greaves and Satnam Singh, Kiwi: Synthesis of FPGA Circuits from Parallel Programs, in IEEE Symposium on FPGAs for Custom Computing Machines (FCCM), IEEE Computer Society, April 2008.
- David Greaves and Satnam Singh, Describing Hardware with Parallel Programs, in Designing Correct Circuits, Budapest, 2008., IEEE, March 2008.