On 07/02/2015 16:56, Claude Frantz wrote: > On 02/07/2015 01:03 PM, Bill Somerville wrote: > >> The current situation as far as I am concerned is that we need to make a >> decision whether to go ahead with using OpenMP to get parallelism in >> WSJT-X. If we decide "yes" then the CMake script will build jt9 with >> OpenMP on platforms that have a tool chain available that supports >> OpenMP, this is a trivial change and jt9_omp will just disappear. Having >> an option is not really viable as it is not something you can turn on >> and off effectively, >> IMHO single CPU processors are history > Hi Bill, Hi Claude, > > Single CPU processors are history, but they are recent history. Windows > XP is history but it is still used at many stations. The problem with > the Mac is a today's reality. The increased performance of OMP is, IMHO, > rather marginal. I disagree. For example the JT65 decoder and the JT9 decoder are pretty much independent and there is virtually no contention between them. This means that they can be run in parallel on two CPUs with little or no overhead for distributing them across the two CPUs. That means that give equal amounts of work it is possible to deliver the decoding results in almost half the time compared to running them sequentially.
Perhaps more importantly the decoders both decode the "low hanging fruit" quickly so, working in parallel, the first decodes from both modes are nearly instantaneous whereas when working sequentially the quick decodes from the other mode are not delivered until the first mode has exhausted its search for ever more difficult decode opportunities. This is exactly the strategy that has been implemented by using OpenMP in jt9. > > Perhaps that the situation will change if better algorithms, allowing a > more deep decoding of weak signals will come into the game. These changes already achieve that use case, for example a user who could not use "Deepest" decode mode on the JT9 decoder because it delayed JT65 decodes too much will now be able to leave "Deepest" set because the JT65 decodes will be delivered even while the JT9 decoder struggles to find those weak hard to decode messages that before were delaying the delivery of all JT65 messages before. This statement does have a caveat in that the OpenMP parallel decoding only happens if more that one CPU thread is available which of course is very relevant because the uni-processor user is also likely to be the user that has decodes that are too slow in JT9 "Deepest" mode :( > > Just my own opinion... > > Best 88 de Claude 73 Bill G4WJS. ------------------------------------------------------------------------------ Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ wsjt-devel mailing list wsjt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wsjt-devel