In my previous question I've asked, I touched the parallel_for subject from ppl.h provided by Microsoft.
But shortly after I've realized that by using it one makes his application unportable (if I'm right it is specific to Microsoft (the ppl.h header)).
In my opinion this breaks very important aspect of programming in C++ - portability, and I'm just not prepare to do it.
So my questions are:
1. Am I right in saying that using parallel_for from ppl makes your code unportable (by unportable I mean that it cannot be compiled by other compiler than the one from MS)
2. Am I right in saying that if on later stage I want to provide UI (done in Qt) for the application I'm working on at the momment, using parallel_for in my code will be an obstruction which would mean that either I'll replace parallel_for with some other (portable) alternative or I won't be able to do UI in Qt and core in VS?
3. What are the (portable) alternatives to ppl?
The PPL split is great for making your whole body grow, but if you specifically need to improve shoulder caps or biceps or triceps, you may well be better off incorporating the bro split for those areas.
The PPL Split Can Be Applied to Strength and Hypertrophy Alike. Whatever your goals are – to get bigger, get stronger, both, or just be overall healthier – the PPL split can be applied universally for any of these goals. All the PPL split dictates is what muscle groups you train and that you do it 3-6 times per week.
The push/pull/legs split is probably the most efficient workout split there is because all related muscle groups are trained together in the same workout. This means that you get the maximum overlap of movements within the same workout, and the muscle groups being trained get an overall benefit from this overlap.
The Push Pull Legs Routine (PPL) is one of the most effective workout routines you can use to build muscle and gain strength. The push pull legs workout split is focused on the major muscle groups based around these movements.
The people working on the Casablanca project have been making a portable version of PPL, called PPLX. It's licensed under an Apache 2.0 license.
They previously have said they are working closely together with the PPL team to keep both versions in sync feature and bugfix wise (see last post in this thread).
You may want to consider Intel's Thread Building Blocks. Unlike OpenMP, TBB actually uses C++, rather than simply compiling under a C++ compiler (ie: being a C library that can compile as C++). It has many of the things you see in PPL, but it is cross-platform.
There is also Boost.Thread, which is C++ (though not quite as direct as TBB is), and it is cross-platform.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With