2024 Q-Chem Developer Workshop

The 2024 Q-Chem Developer Workshop will be happening virtually from December 16—19th, in half-day-long sessions. This free workshop is open to all Q-Chem developers regardless of experience, and will provide an introduction to developing in Q-Chem. Please find the preliminary schedule for the workshop here.

Topics will include introductory materials for beginners (proper use of debuggers, tips for troubleshooting compilation errors, and the Q-Chem development cycle), as well as materials for more advanced developers (how to use libham and libqints, how to develop using MiniQC). The team will also include practical exercises to help solidify the concepts, and time will be allocated for answering general questions from developers.

Please register using the form here. We look forward to seeing you!

Schedule

Monday, Dec 16 – Prerequisites Day

Intended to get absolute beginners up to speed. It covers “general” topics such as using SVN and troubleshooting with debuggers, and covers where to find useful resources on Trac.

  • 9:00 AM – Introduction
  • 9:15 AM – Prerequisites to Q-Chem Development (Shannon Houck)
    Briefly covers SVN, debuggers, developer resources, and key components of our system.
  • 9:45 AM – Exercises: General Compilation and Debugging
    Includes troubleshooting C++ compilation, compiling Q-Chem, and GDB/Valgrind.

 

Tuesday, Dec 17 – Beginners’ Day

Intended for new Q-Chem developers who know C++ and have experience with debuggers, but may not have very much experience with the Q-Chem development environment specifically.

  • 9:00 AM – Office Hour (Q-Chem Team)
  • 9:30 AM – Q-Chem Development Cycle (Xintian Feng)
    Covers the full Q-Chem development cycle, library packages, and Q-Chem code structure; also covers how to compile, test samples, and commit code.
  • 10:15 AM – Exercises: Q-Chem Development Cycle
    Includes branch creation and merge conflict resolution, version control, more practice with SVN commands, testing, and code committing.

 

Wednesday, Dec 18 – Advanced/Special Topics Day

Intended for new and experienced Q-Chem developers who want to learn more about specific topics or libraries.

  • 9:00 AM – Q-Chem Environment
    Covers development in the traditional Q-Chem environment. Includes tips for developing with libham and libgscf (drvman).
  • 10:00 AM – MiniQC Environment
    Covers use of MiniQC, our new package for quick, flexible development of new Q-Chem code. Includes discussion of development with libham, libqints, and libfock.
  • 10:30 AM – QCPBC (Adam Rettig)
    A Q-Chem developer will discuss his implementation of periodic code in Q-Chem for solid-state systems, with a particular emphasis on integration with MiniQC and development of a new Python binding scheme.
  • 11:00 AM – Short Break
  • 11:10 AM – Exercise: Libham + Libqints + MiniQC

 

Thursday, Dec 19

Intended to provide an additional point of contact with the team for users who have lingering questions, and make developers aware of our ongoing office hours. Also highlights an additional talk from the Q-Chem board.

  • 9:00 AM – Office Hour
  • 10:00 AM – Topics from Q-Chem Board (TBD)
  • 11:00 AM – Closing Remarks