Breakout Groups

Day 1 (Aug/4)

Time (CDT) Module
12:00 - 1:30 Breakouts 1 (parallel sessions)
Scientific Applications and Methods - Opportunities for Program Synthesis
Please address these charge questions.
Group 1:
Francis Alexander, Arnab Das, Anshu Dubey, Nur Aiman Fadel, Ian Foster, Amaury Hayat, John Jacobson, Beau Johnston, Dmitry Liakh, Min Si, Rajeev Thakur, Valerie Taylor, Brice Videau, Discussion Lead: Valerie Taylor, Note Takers: Ian Foster, Min Si
Group 2:
Pavan Balaji, Markus Eisenbach, Kyle Felker, Ganesh Gopalakrishnan, Michael Heroux, Xiao-Yong Jin, Ian Karlin, Nevin Liber, Srinivas Nedunuri, Matthew Norman, Boyana Norris, Cindy Rubio Gonzalez, Tong Zhou, Discussion Lead: Pavan Balaji, Note Takers: Ganesh Gopalakrishnan, Ian Karlin
Compiler Technology - Opportunities for Program Synthesis
12:00 - 12:30: Presentations (see agenda for links)
Please address these charge questions.
Group 3:
Alex Aiken, Barbara Chapman, Jungwon Kim, Michael Kruse, Seyong Lee, Nuno Lopes, Abid Malik, Sri Hari Krishna Narayanan, Brandon Neth, Cathie Olschanowsky, Tharindu Patabandi, Tobi Popoola, Jose Rodriguez, Vivek Sarkar, Markus Schordan, Jeffrey Vetter, Jisheng Zhao, Discussion Lead: Barbara Chapman, Note Takers: Michael Kruse, Vivek Sarkar
Group 4:
Bill Carlson, Valentin Clement, Johannes Doerfert, Franz Franchetti, Mary Hall, Niranjan Hasabnis, Martin Kong, Jacob Lambert, Richard Lethin, Eun Jung (EJ) Park, Jonathan Ragan-Kelley, Randi Rost, Michelle Strout, Joseph Tarango, Supun Tennakoon, Fangke Ye, Discussion Lead: Mary Hall, Note Takers: Jacob Lambert, Eun Jung (EJ) Park
Program Synthesis using Data-Driven Heuristics (e.g., Machine Learning)
12:00 - 12:30: Presentations (see agenda for links)
Please address these charge questions.
Group 5:
Maaz Ahmad, Prasanna Balaprakash, Estee Chen, Taylor Childers, Souradeep Dutta, Vinod Grover, Roshni Iyer, Vinu Joseph, Vineeth Kashyap, Jaehoon Koo, Zhengchun Liu, Thirimadura Mendis, Mayur Naik, Gilchan Park, Madhusudan Parthasarathy, Yihui Ren, Armando Solar-Lezama, Michael Spertus, JesminJahan Tithi, Wei Wang, Shengtian Zhou, Discussion Lead: Mayur Naik, Note Takers: Prasanna Balaprakash, Thirimadura Mendis
Group 6:
Todd Anderson, François Charton, Swarat Chaudhuri, Işil Dillig, Milos Gligoric, Paul Hovland, Jan Hueckelheim, Samuel Kaufman, Edward Lee, Alexey Loginov, Abdullah Muzahid, Sheena Panthaplackel, Krishnan Raghavan, Thomas Randall, Kamil Rocki, Tiark Rompf, Srinivasan Sengamedu, Yizhou Sun, Aditya Thakur, Ashwin Vijayakumar, Fei Wang, Discussion Lead: Alexey Loginov, Note Takers: Krishnan Raghavan, Kamil Rocki
Program Synthesis using Enumerative/Formal Methods (e.g., CEGIS)
12:00 - 12:30: Presentations (see agenda for links)
Please address these charge questions.
Group 7:
Aws Albarghouthi, Ras Bodik, Alvin Cheung, Krzysztof Drewniak, Thomas Helmuth, Sarfraz Khurshid, Ruben Martins, James McDonald, Peter-Michael Osera, Hila Peleg, Nadia Polikarpova, Arjun Radhakrishna, Mark Santolucito, Koushik Sen, Zachary Tatlock, Xinyu Wang, Discussion Lead: Ras Bodik, Note Takers: Aws Albarghouthi, Mark Santolucito
Group 8:
Rajeev Alur, James Bornholt, Loris D'Antoni, Justin Gottschlich, Justin Hsu, Siddharth Krishna, Cyrus Omar, Pavel Panchekha, Ruzica Piskac, Xiaokang Qiu, Thomas Reps, Roopsha Samanta, Eric Schulte, Douglas Smith, George Stelle, Discussion Lead: Rajeev Alur, Note Takers: Cyrus Omar, George Stelle
2:15 - 4:00 Breakouts 2 (parallel sessions - all interdisciplinary)
2:15 - 2:45: Presentations (see agenda for links)
All groups to consider:
  • Methods for injecting application requirements (e.g., natural-language descriptions, mathematical specifications, examples of desired behavior).
  • Methods for searching the space of potentially-suitable programs (e.g., reinforcement learning and other machine-learning techniques, counter-example-driven refinement, evolutionary methods, optimization methods).
  • Methods for verifying the correctness of potential programs or increasing the confidence of correctness in existing programs (including formal methods providing both absolute and statistical guarantees).
  • Methods reflecting the multi-objective nature of these problems, including performance, power efficiency, verifiability, and understandability.
Please address these charge questions.
Group 9:
Anshu Dubey, Dmitry Liakh, Kyle Felker, Seyong Lee, Abid Malik, Jisheng Zhao, Niranjan Hasabnis, Eun Jung (EJ) Park, Taylor Childers, Madhusudan Parthasarathy, Michael Spertus, Paul Hovland, Samuel Kaufman, Aditya Thakur, Ruben Martins, Rajeev Alur, Ruzica Piskac, Discussion Lead: Michael Spertus, Note Takers: Rajeev Alur, Taylor Childers
Group 10:
Francis Alexander, Rajeev Thakur, Ganesh Gopalakrishnan, Srinivas Nedunuri, Nuno Lopes, Bill Carlson, Jonathan Ragan-Kelley, Supun Tennakoon, Souradeep Dutta, Vinod Grover, Yihui Ren, Edward Lee, Thomas Randall, Ashwin Vijayakumar, Peter-Michael Osera, James Bornholt, Xiaokang Qiu, Discussion Lead: Bill Carlson, Note Takers: Nuno Lopes, Jonathan Ragan-Kelley
Group 11:
Arnab Das, Michael Heroux, Boyana Norris, Tong Zhou, Cathie Olschanowsky, Valentin Clement, Franz Franchetti, Randi Rost, Vineeth Kashyap, Armando Solar-Lezama, Wei Wang, Alexey Loginov, Aws Albarghouthi, Hila Peleg, Xinyu Wang, Loris D'Antoni, Thomas Reps, Discussion Lead: Randi Rost, Note Takers: Armando Solar-Lezama, Tong Zhou
Group 12:
Nur Aiman Fadel, Min Si, Xiao-Yong Jin, Alex Aiken, Sri Hari Krishna Narayanan, Tobi Popoola, Mary Hall, Michelle Strout, Jaehoon Koo, JesminJahan Tithi, Abdullah Muzahid, Ras Bodik, Nadia Polikarpova, Zachary Tatlock, Justin Gottschlich, Roopsha Samanta, Eric Schulte, Discussion Lead: Eric Schulte, Note Takers: Alex Aiken, Abdullah Muzahid
Group 13:
Ian Foster, Valerie Taylor, Ian Karlin, Barbara Chapman, Jose Rodriguez, Martin Kong, Joseph Tarango, Roshni Iyer, Zhengchun Liu, Todd Anderson, Jan Hueckelheim, Sheena Panthaplackel, Alvin Cheung, Arjun Radhakrishna, Justin Hsu, Douglas Smith, Discussion Lead: Ian Karlin, Note Takers: Todd Anderson, Sheena Panthaplackel
Group 14:
Amaury Hayat, Brice Videau, Nevin Liber, Vivek Sarkar, Johannes Doerfert, Jacob Lambert, Fangke Ye, Vinu Joseph, Thirimadura Mendis, Swarat Chaudhuri, Krishnan Raghavan, Yizhou Sun, Krzysztof Drewniak, Mark Santolucito, Siddharth Krishna, George Stelle, Discussion Lead: Vivek Sarkar, Note Takers: Johannes Doerfert, Siddharth Krishna
Group 15:
John Jacobson, Pavan Balaji, Matthew Norman, Jungwon Kim, Markus Schordan, Richard Lethin, Maaz Ahmad, Mayur Naik, Shengtian Zhou, Işil Dillig, Kamil Rocki, Tiark Rompf, Fei Wang, Thomas Helmuth, Koushik Sen, Cyrus Omar, Discussion Lead: Cyrus Omar, Note Takers: Işil Dillig, Richard Lethin
Group 16:
Beau Johnston, Markus Eisenbach, Cindy Rubio Gonzalez, Michael Kruse, Brandon Neth, Tharindu Patabandi, Jeffrey Vetter, Prasanna Balaprakash, Estee Chen, Gilchan Park, François Charton, Milos Gligoric, Srinivasan Sengamedu, Sarfraz Khurshid, James McDonald, Pavel Panchekha, Discussion Lead: Prasanna Balaprakash, Note Takers: Brandon Neth, Pavel Panchekha

Day 2 (Aug/5)

Time (CDT) Module
12:00 - 1:30 Breakouts 3 (parallel sessions)
Scientific Applications and Methods - Opportunities for Program Synthesis
Please address these charge questions.
Group 17:
Francis Alexander, Anshu Dubey, Ian Foster, John Jacobson, Min Si, Rajeev Thakur, Brice Videau, Markus Eisenbach, Kyle Felker, Xiao-Yong Jin, Nevin Liber, Matthew Norman, Cindy Rubio Gonzalez, Discussion Lead: Rajeev Thakur, Note Takers: Ian Foster, Min Si
Group 18:
Arnab Das, Nur Aiman Fadel, Amaury Hayat, Beau Johnston, Dmitry Liakh, Valerie Taylor, Pavan Balaji, Ganesh Gopalakrishnan, Michael Heroux, Ian Karlin, Srinivas Nedunuri, Boyana Norris, Tong Zhou, Discussion Lead: Michael Heroux, Note Takers: Ganesh Gopalakrishnan, Ian Karlin
Compiler Technology - Opportunities for Program Synthesis
12:00 - 12:40: Presentations (see agenda for links)
Please address these charge questions.
Group 19:
Alex Aiken, Jungwon Kim, Michael Kruse, Abid Malik, Brandon Neth, Tharindu Patabandi, Jose Rodriguez, Markus Schordan, Jeffrey Vetter, Valentin Clement, Franz Franchetti, Niranjan Hasabnis, Richard Lethin, Jonathan Ragan-Kelley, Randi Rost, Joseph Tarango, Fangke Ye, Discussion Lead: Jeffrey Vetter, Note Takers: Michael Kruse, Markus Schordan
Group 20:
Barbara Chapman, Seyong Lee, Nuno Lopes, Sri Hari Krishna Narayanan, Cathie Olschanowsky, Tobi Popoola, Vivek Sarkar, Jisheng Zhao, Bill Carlson, Johannes Doerfert, Mary Hall, Martin Kong, Jacob Lambert, Eun Jung (EJ) Park, Michelle Strout, Supun Tennakoon, Discussion Lead: Johannes Doerfert, Note Takers: Jacob Lambert, Eun Jung (EJ) Park
Program Synthesis using Data-Driven Heuristics (e.g., Machine Learning)
12:00 - 12:40: Presentations (see agenda for links)
Please address these charge questions.
Group 21:
Maaz Ahmad, Prasanna Balaprakash, Souradeep Dutta, Roshni Iyer, Vineeth Kashyap, Zhengchun Liu, Thirimadura Mendis, Madhusudan Parthasarathy, Armando Solar-Lezama, JesminJahan Tithi, Shengtian Zhou, François Charton, Milos Gligoric, Paul Hovland, Samuel Kaufman, Alexey Loginov, Sheena Panthaplackel, Thomas Randall, Tiark Rompf, Yizhou Sun, Ashwin Vijayakumar, Discussion Lead: Armando Solar-Lezama, Note Takers: Prasanna Balaprakash, Thirimadura Mendis
Group 22:
Estee Chen, Taylor Childers, Vinod Grover, Vinu Joseph, Jaehoon Koo, Mayur Naik, Gilchan Park, Yihui Ren, Michael Spertus, Wei Wang, Todd Anderson, Swarat Chaudhuri, Işil Dillig, Jan Hueckelheim, Edward Lee, Abdullah Muzahid, Krishnan Raghavan, Kamil Rocki, Srinivasan Sengamedu, Aditya Thakur, Fei Wang, Discussion Lead: Işil Dillig, Note Takers: Krishnan Raghavan, Kamil Rocki
Program Synthesis using Enumerative/Formal Methods (e.g., CEGIS)
12:00 - 12:40: Presentations (see agenda for links)
Please address these charge questions.
Group 23:
Aws Albarghouthi, Alvin Cheung, Thomas Helmuth, Sarfraz Khurshid, Peter-Michael Osera, Nadia Polikarpova, Mark Santolucito, Zachary Tatlock, Rajeev Alur, Loris D'Antoni, Justin Hsu, Pavel Panchekha, Ruzica Piskac, Thomas Reps, Eric Schulte, Douglas Smith, Discussion Lead: Sarfraz Khurshid, Note Takers: Aws Albarghouthi, Mark Santolucito
Group 24:
Ras Bodik, Krzysztof Drewniak, Ruben Martins, James McDonald, Hila Peleg, Arjun Radhakrishna, Koushik Sen, Xinyu Wang, James Bornholt, Justin Gottschlich, Siddharth Krishna, Cyrus Omar, Xiaokang Qiu, Roopsha Samanta, George Stelle, Discussion Lead: Justin Gottschlich, Note Takers: Cyrus Omar, George Stelle

Charge Questions

  1. What are the current areas of focus and successes in program synthesis within the research community and industry?
  2. How should these focus areas and successes be expanded to encompass the needs of scientific computing and HPC?
  3. What are the challenges in applying program synthesis to problems in scientific computing and HPC?
  4. What opportunities exist for applying existing successful approaches in scientific computing and HPC?
  5. What are aggressive short term (1-2 years), medium term (3-5 years), and long term (> 5 years) goals?

Charge Questions (applications sections during breakout 1):

  1. What are the most labor-intensive aspects of programming scientific applications/libraries?
  2. What are the most technically difficult aspects of programming scientific applications/libraries?
  3. What capabilities would a software system need to possess in order to largely, or completely, automate these tasks? What are the required inputs? How would the system interact with the human programmers?

Charge Questions (compiler and tools sections during breakout 1):

  1. What opportunities exist to improve compilers and program analysis tools to better support scientific applications and HPC?
  2. How might higher-level information be leveraged to capture those opportunities?
  3. How might compiler technology be improved to better integrate with program-synthesis systems?

Additional Prompt Questions

In addition to these general charge questions, here are a number of challenge questions highlighted by our attendees in the pre-workshop questionnaire that might serve as useful points of discussion in the breakout sessions:

  1. How can we make program-synthesis tools scalable?
  2. How can we make program-synthesis tools composible?
  3. How can we make use of natural language in program-synthesis systems in this area?
  4. How can high-level specifications drive program synthesis in this area?
  5. How can data-driven program synthesis be applied to this area?
  6. How can we make use of deep learning in program-synthesis systems?
  7. How should program-synthesis systems handle flawed and ambiguous specifications?
  8. How can we make program-synthesis systems integrate with IDEs and otherwise have useful interfaces?
  9. How can we construct general program synthesis systems (i.e., systems not restricted to a small, domain-specific set of primitives)?
  10. How can we most-effectively use domain-specific languages with program-synthesis systems?
  11. How can we access the productivity improvements from program-synthesis systems and use that data to improve those systems?
  12. How can we create program-synthesis systems that can create parallelization strategies and address algorithmic-complexity metrics?
  13. How can we select test cases, or create test cases, useful for training and benchmarking program-synthesis systems?
  14. How can program-synthesis systems assist with hardware/software co-design?
  15. How can program-synthesis systems complement programming environments featuring runtime specialization (e.g., just-in-time compilation)?
  16. How can program-synthesis systems help address performance-portability requirements?
  17. How can program-synthesis systems contribute to increasing software reliability?
  18. How can program-synthesis systems most-usefully provide formal correctness guarantees?