Sorry for the silly title, I watched Eddy Murphy - Raw, and it's stuck in my head! Anyway I was under the impression that the Intel compiler could magically modify my code to run on multi-core cpu's. All I have to do is have a multi-core cpu to test on and use -parallel. After some time trials, I'm not so sure. It's doing something, but my times are all over the place making it hard to tell. Since multi-core cpu's are the way of the future and I'm mostly writing games that could benefit from this technology, I've got questions...
1) Will my parallel code still run on single core cpu's?
2) Are there any compiler options that don't mesh well with -parallel?
I spent most of the day yesterday getting my code to compile with -openmp. Now that it will compile with -openmp and/or -parallel and the time trials results are in, I know they have a powerful impact (sometimes) on performance.
3) What exactly am I asking the compiler to do when I specify -parallel? Should it always be used with -openmp?
I've figured out that openmp is a library. I've been to the web site and saw some truly weird stuff (#pragma's)
4) Do I need to participate by adding things like "#pragma omp parallel" to get any good use out of it at all?
5) Any good resources for dummies to learn about this stuff?
Thanks for any input.