Thanks @ptrblck !  Setting benchmark to False avoids the large allocations, and allows me to complete the training without OOM.
I’d like to understand a bit more about the cuDNN benchmark memory requirements.  How is the required workspace size determined?
Presumably I’m giving up some possible performance by not benchmarking.  Do you have any feel for how big a difference this makes?