Filters








7 Hits in 4.1 sec

Lime

Joshua Auerbach, David F. Bacon, Perry Cheng, Rodric Rabbah
2010 SIGPLAN notices  
We present a new language, Lime, which is designed to be executable across a broad range of architectures, from FPGAs to conventional CPUs.  ...  We present the language as a whole, focusing on its novel features for limiting side-effects and integration of the streaming paradigm into an objectoriented language.  ...  Acknowledgments Shan Shan Huang made substantial contributions to an earlier version of the Lime language. We thank Martin Hirzel, Doug Lea, David Ungar and the reviewers for their valuable comments.  ... 
doi:10.1145/1932682.1869469 fatcat:dcwjknolubbv3lrmiqtzhiq43a

Lime

Joshua Auerbach, David F. Bacon, Perry Cheng, Rodric Rabbah
2010 Proceedings of the ACM international conference on Object oriented programming systems languages and applications - OOPSLA '10  
We present a new language, Lime, which is designed to be executable across a broad range of architectures, from FPGAs to conventional CPUs.  ...  We present the language as a whole, focusing on its novel features for limiting side-effects and integration of the streaming paradigm into an objectoriented language.  ...  Acknowledgments Shan Shan Huang made substantial contributions to an earlier version of the Lime language. We thank Martin Hirzel, Doug Lea, David Ungar and the reviewers for their valuable comments.  ... 
doi:10.1145/1869459.1869469 dblp:conf/oopsla/AuerbachBCR10 fatcat:4m5zpnhf4bg4je3mzs4q37xcta

Virtualization of heterogeneous machines hardware description in a synthesizable object-oriented language

Joshua Auerbach, David F. Bacon, Perry Cheng, Rodric Rabbah, Sunil Shukla
2011 Proceedings of the 48th Design Automation Conference on - DAC '11  
Lime is a new Java-compatible and object-oriented language designed to make programming of reconfigurable hardware significantly more accessible to skilled software developers.  ...  The result is a virtual machine abstraction that extends across a heterogeneous architecture comprising a CPU, FPGA, and other computational structures.  ...  Conclusion This paper presents the synthesis-oriented features of Lime -a new Java-compatible language for programming hardware and software.  ... 
doi:10.1145/2024724.2024923 dblp:conf/dac/AuerbachBCRS11 fatcat:4rfeclmcmraxfbw4bxezrgsdnq

FPGA programming for the masses

David F. Bacon, Rodric Rabbah, Sunil Shukla
2013 Communications of the ACM  
ASICs implement a dedicated and fixed function and provide the best power and performance characteristics, but any functional change requires a complete (and extremely expensive) re-spinning of the circuits  ...  They are closer to the hardware and can be reprogrammed. The most prominent example of a PLD is a field programmable gate array (FPGA).  ...  These permit, for example, the definition of generic classes that are parameterized by bit width, polymorphic methods and overloaded operators. Lime is Java compatible and hence strongly typed.  ... 
doi:10.1145/2436256.2436271 fatcat:q7r74q4vbvdlblolk7qgpzgin4

Best-Effort FPGA Programming: A Few Steps Can Go a Long Way [article]

Jason Cong, Zhenman Fang, Yuchen Hao, Peng Wei, Cody Hao Yu, Chen Zhang, Peipei Zhou
2018 arXiv   pre-print
FPGA-based heterogeneous architectures provide programmers with the ability to customize their hardware accelerators for flexible acceleration of many workloads.  ...  FPGA vendors and researchers attempt to improve the programmability through high-level synthesis (HLS) technologies that can directly generate hardware circuits from high-level language descriptions.  ...  Lime [40] is a Java-based domain-specific language that provides several parallel patterns to improve the programmability.  ... 
arXiv:1807.01340v1 fatcat:6ocpzvp2cvgkninbtyvvyk7yiu

Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary [chapter]

Shan Shan Huang, Amir Hormati, David F. Bacon, Rodric Rabbah
Lecture Notes in Computer Science  
We introduce Lime, a new Object-Oriented language that can be compiled for the JVM or into a synthesizable hardware description language.  ...  We detail an end-to-end system from the language down to hardware synthesis and demonstrate a Lime program running on both a conventional processor and in an FPGA.  ...  We thank Bill Thies and Michael Gordon of MIT for their help with the StreamIt compiler; Stephen Neuendorffer of Xilinx for his help with the Xilinx tools and platforms.  ... 
doi:10.1007/978-3-540-70592-5_5 fatcat:e2kqrul2frfxrc7j4okdhr6vfi

Methodology for complex dataflow application development

Nils Voss, Wayne Luk, Georgi Gaydadjiev
2021
and an iterative architectural refinement to resolve identi- fied bottlenecks before writing a single line of code targeting the reconfigurable hardware.  ...  Second, best practices for performance portability between different FPGA devices are collected and evaluated on a financial use case, showing efficient resource usage on five different platforms.  ...  It uses a Java based language called lime. lime is an extension of Java which can be executed on the normal JVM.  ... 
doi:10.25560/91314 fatcat:w6ru3zmzozetjf3rhgw5pgcbzu