Hardware support for bfloat16 is there, but software support in pytorch’s cuda backend and cuda libraries is WIP.  Once it’s present, I’ll add a bfloat16 option to autocast.
Why is it essential that you train in C++?  Python training usually isn’t a problem and there’s lot of near-term work underway (and done) to reduce eager mode cpu overheads and make the difference between C++ and Python less important.