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 current Q-Chem developers regardless of experience, and will provide an introduction to developing in Q-Chem. If you are not yet a Q-Chem developer, you can find out more about becoming a developer here.

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

Note: All times are reported in Pacific standard time (PST).

Monday, Dec 16

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

  • 9:00 AM – Introduction (Shannon Houck)
  • 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

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

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

  • 9:00 AM – Q-Chem Environment (Xintian Feng)
    Covers development in the traditional Q-Chem environment. Includes tips for developing with libham and libgscf (drvman).
  • 10:00 AM – MiniQC Environment (Xintian Feng)
    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: Development in MiniQC & Python Binding (Adam Rettig)
    Q-Chem developer Adam Rettig (Harvard University) will discuss his experience with developing the periodic qcpbc module in Q-Chem. The first half of this talk will focus on his use of MiniQC, and the second half will focus on the development of a Python binding scheme integrated with his new Q-Chem library.
  • 11:10 AM – Exercise: Libham + Libqints + MiniQC
  • 12:15 AM – Closing Remarks (Shannon Houck)

 

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 (Q-Chem Team)