Implement checksum to I/O (Feature #370)
Before going to production, checksums for the gauge configurations have to be implemented to ensure compatibility with other programs and validity of the data.
In tmlqcd these fcts. can be found in /io/dml.* and are closely related to the QIO package of USQCD (http://usqcd.jlab.org/usqcd-docs/qio/). This package can also be downloaded.
Perhaps it is possible to simply use these fcts?
|related to CL2QCD - Feature #710: Ensure gaugefield read/write does not do stupid things on...||Done||24 Sep 2014|
Matthias, in 66424495 you simplified the code a lot and introduced the conversion to big Endian "on the fly".
My question is: Is this still valid if one has a system with big Endian, or is it assumed the operating system is little Endian?
- Priority changed from High to Normal
Took me a while to find the corresponding code again after all the resorting that has been going on. Currently it is implied that the code is always run on a little endian machine (I am not aware of any big endian mashines that run OpenCL). It could very easily be fixed, though. The endianess information is available in CMake and the function make_big_endian_from_float becomes trivial. If required I could fix it. Would give me a chance to fix that not 100% usage of a union I put in there, too.
If it is not too much work I think it would be a valuable "security line".
It will be of course a bit hard to write tests for these cases, so perhaps one can simply add a warning at some point, as it is, as you say, quite unlikely that the code is executed on a big endian machine...