What's the difference between csrc/serialization and csrc/generic/serialization?

I want to make save/load support new device. When I test cpu save , it will call THPStorage_(writeFile), which call generic/serialization.cpp’s THPStorage_(writeFileRaw). So I don’t know what csrc/serialization.cpp does.

In addition, can anyone tell me how cuda support save? Any issues is OK. I find it has so many thing to do…