Publications

Refereed Conference, Journal and Workshop papers

 
  1. Parallel Algorithms for Masked Sparse Matrix-matrix Products Srdjan Milaković, Oguz Selvitopi, Israt Nisa, Zoran Budimlić and Aydin Buluç. ICPP'2022: 51st International Conference on Parallel Processing, 2022. 

  2. Improving a High Productivity Data Analytics Chapel Framework Prashanth Pai, Andrej Jakovljević, Zoran Budimlić and Costin Iancu CUG2022: Cray User Group 2022 Conference. 

  3. Parallel Algorithms for Masked Sparse Matrix-matrix Products Srdjan Milaković, Oguz Selvitopi, Israt Nisa, Zoran Budimlić and Aydin Buluç. PPoPP '22: Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 2022. Pages 453–454. Poster presentation. 

  4. A One Year Retrospective on a MOOC in Parallel, Concurrent, and Distributed Programming in Java Vivek Sarkar, Max Grossman, Zoran Budimlić and Shams Imam. 2018 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC), 2018, pp. 61-68, doi: 10.1109/EduHPC.2018.00010. 

  5. SHCOLL: A Standalone Implementation of OpenSHMEM-style Collectives API Srdjan Milaković, Zoran Budimlić, Howard Pritchard, Antony Curtis, Barbara Chapman and Vivek Sarkar. OpenSHMEM 2018: Fifth Workshop on OpenSHMEM and Related Technologies. August 2018. 

  6. DAMMP: A Distributed Actor Model for Mobile Platforms Arghya Chatterjee, Srdjan Milaković, Bing Xue, Zoran Budimlić, and Vivek Sarkar. 14th International Conference on Managed Languages & Runtimes (ManLang'17), September 2017. 

  7. Preparing an Online Java Parallel Computing Course Vivek Sarkar, Max Grossman, Zoran Budimlić, and Shams Imam. 7th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-17). May 2017. 

  8. A Pluggable Framework for Composable HPC Scheduling Libraries Max Grossman, Vivek Kumar, Nick Vrvilo, Zoran Budimlić, and Vivek Sarkar. The Seventh International Workshop on Accelerators and Hybrid Exascale Systems (AsHES), May 2017. 

  9. The Open Community Runtime: A Runtime System for Extreme Scale Computing Timothy G. Madsen, Romain Cledat, Vincent Cave, Vivek Sarkar, Zoran Budimlić, Sanjay Chatterjee, Josh Fryman, Ivan Ganev, Robin Knauerhase, Min Lee, Benot Meister, Brian Nickerson, Nick Pepperling, Bala Seshasayee, Sagnak Tasirlar, Justin Teller and Nick Vrvilo. In 2016 IEEE High Performance Extreme Computing Conference (HPEC ‘16), September 13-15, Waltham, MA 

  10. CnC: A Dependence Programming Model. Zoran Budimlić and Kathleen Knobe. In Sixth International Workshop on Data Flow Models for Extreme-Scale Computing (DFM 2016), September 15, 2016, Haifa, Israel. 

  11. A Distributed Selectors Runtime System for Java Applications. Arghya Chatterjee, Branko Gvoka, Bing Xue, Zoran Budimlić, Shams Imam and Vivek Sarkar. 13th International Conference on the Principles and Practice of Programming on the Java Platform: virtual machines, languages, and tools (PPPJ'16), August 2016. 

  12. Integrating Asynchronous Task Parallelism with OpenSHMEM. Max Grossman, Vivek Kumar, Zoran Budimlić and Vivek Sarkar. OpenSHMEM 2016: Third workshop on OpenSHMEM and Related Technologies, August 2016, Baltimore, Maryland 

  13. Declarative Tuning for Locality in Parallel Programs. Sanjay Chatterjee, Nick Vrvilo, Zoran Budimlić, Kathleen Knobe and Vivek Sarkar. In Proceedings of the the 45th International Conference on Parallel Processing (ICPP-2016), August 2016. 

  14. Characterizing Application Execution using the Open Community Runtime. Zoran Budimlić, Vincent Cavé, Sanjay Chatterjee, Romain Cledat, Vivek Sarkar , Bala Seshasayee, Rishi Surendran and Nick Vrvilo. In Proceedings of the SC15 Workshop on Runtime Systems for Extreme Scale Programming Models and Architectures (RESPA'15). November 2015. 

  15. Heterogeneous Work-stealing across CPU and DSP cores. Vivek Kumar, Alina Sbîrlea, Ajay Jayara, Zoran Budimlić, Deepak Majeti and Vivek Sarkar. In Proceedings of the 19th IEEE High Performance Extreme Computing conference (HPEC'15). September 2015. 

  16. HabaneroUPC++: a Compiler-free PGAS Library. Vivek Kumar, Yili Zheng, Vincent Cavé, Zoran Budimlić and Vivek Sarkar. In Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models (PGAS14), October 2014. 

  17. Bounded Memory Scheduling of Dynamic Task Graphs. Dragoș Sbîrlea, Zoran Budimlić and Vivek Sarkar. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation Techniques (PACT), August 2014, Edmonton, Alberta, Canada. 

  18. Isolation for Nested Task Parallelism. Jisheng Zhao, Roberto Lublinerman, Zoran Budimlić, Swarat Chaudhuri and Vivek Sarkar. In Proceedings of the 28th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2013, Indianapolis, IN. 

  19. Compiler Optimization of an Application-specific Runtime. Kathleen Knobe and Zoran Budimlić. CPC 2013: 17th Workshop on Compilers for Parallel Computing, July 2013, Lyon, France.

  20. Integrating Asynchronous Task Parallelism with MPI Sanjay Chatterjee, Sağnak Taşırlar, Zoran Budimlić, Vincent Cavé, Millind Chabbi, Max Grossman, Yonghong Yan and Vivek Sarkar. 27th IEEE International Parallel & Distributed Processing Symposium (IPDPS 2013), May 2013, Boston, MA. 

  21. Mapping a Data-Flow Programming Model onto Heterogeneous Platforms Alina Sbîrlea, Yi Zou, Zoran Budimlić, Jason Cong and Vivek Sarkar. Languages, Compilers, Tools and Theory for Embedded Systems (LCTES), June 2012, Beijing, China. 

  22. Practical Permissions for Race-Free Parallelism Edwin Westbrook, Jisheng Zhao, Zoran Budimlić and Vivek Sarkar. In Proceedings of the 26th European Conference on Object-Oriented Programming (ECOOP), June 2012, Beijing, China. 

  23. Delegated Isolation. Roberto Lublinerman, Jisheng Zhao, Zoran Budimlić, Swarat Chaudhuri and Vivek Sarkar. In Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2011, Portland, OR. 

  24. Permission Regions For Race-free Parallelism. Edwin Westbrook, Jisheng Zhao, Zoran Budimlić and Vivek Sarkar. In Proceedings of the 2nd International Conference on Runtime Verification (RV), September 2011, San Francisco, CA. 

  25. Hardware and Software Tradeoffs for Task Synchronization on Manycore Architectures. Yonghong Yan, Sanjay Chatterjee, Daniel Orozco, Elkin Garcia, Zoran Budimlić, Jun Shirako, Robert Pavel, Guang R. Gao, and Vivek Sarkar. Europar 2011, August 2011, Bordeaux, France.

  26. Communication Optimizations for Distributed-Memory X10 Programs. Rajkishore Barik, Jisheng Zhao, David Grove, Igor Peshansky, Zoran Budimlić and Vivek Sarkar. 25th IEEE International Parallel & Distributed Processing Symposium (IPDPS 2011), May 2011, Anchorage, AK. 

  27. Subregion Analysis and Bounds Check Elimination for High Level Arrays. Mackale Joyner, Zoran Budimlić and Vivek Sarkar. CC 2011: International Conference on Compiler Construction, March 2011, Saarbrücken, Germany. 

  28. Deterministic Reductions in an Asynchronous Parallel Language. Zoran Budimlić, Michael Burke, Kathleen Knobe, Ryan Newton, David Peixotto, Vivek Sarkar and Edwin Westbrook. WoDet'11: Proceedings of The 2nd Workshop on Determinism and Correctness in Parallel Programming, March 2011. 

  29. Concurrent Collections. Zoran Budimlić, Michael Burke, Vincent Cavé, Kathleen Knobe, Geoff Lowney, Ryan Newton, Jens Palsberg, David Peixotto, Vivek Sarkar, Frank Schlimbach and Sagnak Tasirlar. SIAM PP10 Special Issue on Scientific Programming, 2010.

  30. Habanero-Java Extensions for Scientific Computing. Vincent Cavé, Jisheng Zhao, Zoran Budimlić, Vivek Sarkar, James Gunning and Michael Glinsky. 9th Workshop on Parallel/High-Performance Object-Oriented Scientific Computing (POOSC'10) (held in conjunction with SPLASH), October 2010, Reno, NV.

  31. Comparing the Usability of Library vs. Language Approaches to Task Parallelism. Vincent Cavé, Zoran Budimlić and Vivek Sarkar. PLATEAU 2010 : Second Workshop on Evaluation and Usability of Programming Languages and Tools (held in conjunction with SPLASH), October 2010, Reno, NV.

  32. Modeling and Mapping for Customizable Domain-Specific Computing. Zoran Budimlić, Alex Bui, Jasn Cong, Glenn Reinman and Vivek Sarkar. SPLASH 2010 Workshop on Concurrency for the Application Programmer, October 2010, Reno, NV.

  33. CnC-CUDA: Declarative Programming for GPUs. Max Grossman, Alina Sbirlea, Zoran Budimlić and Vivek Sarkar. The 23rd International Workshop on Languages and Compilers for Parallel Computing (LCPC2010), October 2010, Houston, TX.

  34. Composability for Application-Specific Transactional Optimizations. Rui Zhang, Zoran Budimlić and William N. Scherer III. In 5th ACM SIGPLAN Workshop on Transactional Computing, TRANSACT 2010, April 2010, Paris, France.

  35. Scheduling Tasks to Maximize Usage of Aggregate Variables In Place. Samah Abu-Mahmeed, Cheryl McCosh, Zoran Budimlić, Ken Kennedy, Kaushik Ravindran, Kevin Hogan, Paul Austin, Steve Rogers and Jacob Kornerup. CC 2009: International Conference on Compiler Construction, March 2009, York, United Kingdom.

  36. Multi-core Implementations of the Concurrent Collections Programming Model. Zoran Budimlić, Aparna Chandramowlishwaran, Kathleen Knobe, Geoff Lowney, Vivek Sarkar and Leo Treggiari. CPC 2009: 14th Workshop on Compilers for Parallel Computing, January 2009.

  37. Declarative Aspects of Memory Management in the Concurrent Collections Parallel Programming Model. Zoran Budimlić, Aparna Chandramowlishwaran, Kathleen Knobe, Geoff Lowney, Vivek Sarkar and Leo Treggiari. DAMP 2009: Workshop on Declarative Aspects of Multicore Programming, January 2009.

  38. Commit Phase in Timestamp-based STM. Rui Zhang, Zoran Budimlić and William N. Scherer III. SPAA 2008: 20th ACM Symposium on Parallelism in Algorithms and Architectures, June 2008.

  39. Runtime Tuning of STM Validation Techniques. Rui Zhang, Zoran Budimlić, William N. Scherer III and Mackale Joyner. Workshop on Exploiting Parallelism with Transactional Memory and other Hardware Assisted Methods (EPHAM). April 2008.  

  40. Array Optimizations for Parallel Implementations of High Productivity Languages. Mackale Joyner, Zoran Budimlić, Vivek Sarkar and Rui Zhang. Workshop on Performance Optimization for High-Level Languages and Libraries (POHLL). April 2008.

  41. Optimizing Array Accesses in High Productivity Languages. Mackale Joyner, Zoran Budimlić and Vivek Sarkar. International Conference on High Performance Computing and Communications (HPCC), pages 432-445, Sept. 2007. 

  42. Performance Modeling and Prediction for Scientific Java Applications. Rui Zhang, Zoran Budimlić and Ken Kennedy. IEEE International Symposium on Performance Analysis of Systems and Software, March 19-21, 2006, Austin, Texas.

  43. Improving Compilation of Java Scientific Applications. Mackale Joyner, Zoran Budimlić and Ken Kennedy. The International Journal of High Performance Computing Applications, 2006.

  44. Compiling Almost-Whole Java Programs. Zoran Budimlić and Ken Kennedy. Concurrency and Computation: Practice and Experience 17:573-587, 2005.

  45. Implementation and Performance of a Particle-in-cell code Written in Java. Stefano Markidis, Giovanni Lapenta, W. Brian VanderHeyden and Zoran Budimlić. Concurrency and Computation: Practice and Experience 17:821-837, 2005.

  46. Fast Copy Coalescing and Live Range Identification. Zoran Budimlić, Keith Cooper, Tim Harvey, Ken Kennedy, Tim Oberg and Steve Reeves. In Proceedings of the 2002 ACM Sigplan Conference on Programming Language Design and Implementation (PLDI), Berlin, Germany, pages 25-32.

  47. Almost-Whole-Program Compilation.. Zoran Budimlić and Ken Kennedy. In Proceedings of the Joint ACM Java Grande - ISCOPE 2002 Conference, Seattle, WA, November 3, 2002, pp 104-111.

  48. JaMake: A Java Compiler Environment. Zoran Budimlić and Ken Kennedy. In Third International Conference on Large Scale Scientific Computing, 2001. LNCS 2179 Large-Scale Scientific Computing, 201-209.

  49. Prospects for Scientific Computing in Polymorphic, Object-Oriented Style. Zoran Budimlić and Ken Kennedy. In Proceedings of the Ninth SIAM Conference on Parallel Processing for Scientific Computing. San Antonio, March 1999.

  50. The Cost of Being Object-Oriented: A Preliminary Study. Zoran Budimlić, Ken Kennedy and Jeff Piper. Scientific Computing 7(2), 87-95, 1999.

  51. Optimizing Java: Theory and Practice. Zoran Budimlić and Ken Kennedy. Concurrency: Practice and Experience 9(6), 445-463, 1997.

Technical Reports

  1. Compiler Support for Work-Stealing Parallel Runtime Systems (with R. Raman, V. Sarkar and J. Zhao). Rice University technical report TR10-02, 2010.

  2. Composability for Application-Specific Transactional Optimizations (extended version) (with R. Zhang and W. Scherer). Rice University technical report TR10-01, 2010.

  3. Implementing The Concurrent Collections on top of Java and .NET Platforms (with P. Charles and D. Peixotto). Rice University technical report TR09-7, 2009.

  4. Multi-core Implementations of the Concurrent Collections Programming Model (with A. Chandramowlishwaran, K. Knobe, G. Lowney, V. Sarkar and L. Treggiari). Rice University technical report TR09-6, 2009.

  5. Scheduling Tasks to Maximize Usage of Aggregate Variables In Place (with S. Abu-Mahmeed, C. McCosh, K. Kennedy, K. Ravindran, K. Hogan, P. Austin, S. Rogers and J. Kornerup). Rice University technical report TR09-01, 2009.

  6. Commit Phase Variations in Timestamp-based Software Transactional Memory (with R. Zhang and W. Scherer), Rice University technical report TR08-03, 2008.

  7. Inside Time-based Software Transactional Memory (with R. Zhang and W. Scherer), Rice University technical report TR07-5, 2007.

  8. Static Interprocedural Optimizations in Java. (With K. Kennedy). Rice University technical report CRPC-TR98746, 1998.