Message boards :
Number crunching :
Lowest common denominator of floating point math instructions?
Message board moderation
Author | Message |
---|---|
Send message Joined: 11 Dec 19 Posts: 108 Credit: 3,012,142 RAC: 0 |
After staring at the list of active CPU models used by CPDN clients (https://www.cpdn.org/cpu_list.php) for a while it dawned on me that the project might still be using SSE2 instructions for floating point math. If the project is using AVX instructions (which the vast majority of clients do support) then they would have to recompile the executable binaries for the minority of CPU models so that they could use SSE2 instead. Because the team at Oxford is small and has limited resources I am guessing that this is not the case. There are two ways I could find out for sure: 1.) Ask about in a new thread and wait for a reply, or 2.) Analyze the files I am downloading and running on my own. The only way I know of getting an answer by going with Option 2 is to "de-compile" Oxford's code and that seems a bit invasive to me so I went with Option 1. |
Send message Joined: 15 May 09 Posts: 4535 Credit: 18,966,742 RAC: 21,869 |
After staring at the list of active CPU models used by CPDN clients (https://www.cpdn.org/cpu_list.php) for a while it dawned on me that the project might still be using SSE2 instructions for floating point math. I can certainly remember when the project stopped supporting processors without SSE2. I don't recall any announcement of a similar sort with regards to AVX so I suspect SSE2 is still in use. The code does not belong to Oxford but to the UK Met Office and it is not open source. One of the reasons models with the exception of Open IFS are all 32 bit. The IFS code is open source from a European collaboration. I don't know if there will eventually be more options giving the researchers a wider selection of tools to use. I also don't know if the OpenIFS code uses SSE2 or AVX though being open source, that is probably easier to track down. |
Send message Joined: 11 Dec 19 Posts: 108 Credit: 3,012,142 RAC: 0 |
After a bit of searching I found this: https://confluence.ecmwf.int/display/OIFS/OpenIFS+Licensing It seems to me that the license is free (as in "Free beer!") but not free (as in "Free Speech"). While there is no mention of having to pay to use it, researchers are somewhat limited in how they can use it and what they kinds of data they can publish. OpenIFS does appear to have it's roots in the old school vector math supercomputers sold by Cray which means that AVX instruction support is likely. New versions support symmetric multiprocessing using MPI and OpenMP frameworks. This might mean multi-threaded work units would be possible for CPDN in the future but I am no position to even guess at the odds of that happening. https://confluence.ecmwf.int/display/OIFS/OpenIFS+user+meeting+2014?preview=%2F31066048%2F36012517%2FIFS_technical.pdf |
Send message Joined: 7 Aug 04 Posts: 2185 Credit: 64,822,615 RAC: 5,275 |
If the code is using higher than SSE2 optimizations, then it is likely able to fall back to SSE2 if necessary, as I haven't seen any reports of older P4s and early Athlon64s falling over. Then again, there can't be too many of those CPUs still running this project. Back in the olden days, when they used to communicate more with the moderators about such things, we knew both the Windows and Linux apps used the Intel compiler. Windows and Linux ran the same models/model types, supposedly with the same optimizations. But there were often noticeable differences in performance between Linux and Windows on the same system, and performance deficits that shouldn't have existed for AMD if using the same optimization. So, it's always been a bit dodgy as to whether the same exact optimizations were being used for all circumstances. Last compiler I remember them mentioning was Intel compiler version 11 or 12, but that's remembering things from nearly a decade ago. It's likely to be very different now. |
©2024 cpdn.org