making full use of the multicores in workstation
i have multicore workstation and i want that my fortran code use all the processors in the system.
usually when i run the code it only uses 2 cores.. i know tht one thing is to do the parallel coding but i dont know bout tht a thing so tht option is out of picture..
can any thing be done in the setting of the workstation before running so atleast it uses 4 or 6 cores if not all ( i mean ayway to fool the workstation)..or nything be done to the hardware .
the main aim is tht serial code use more cores without parallel coding..
take care and all the best....
I believe that there are a number of compiler that auto-parallelises loop (see http://www.absoft.com/Absoft_Linux_Compiler.htm for an example).
From experience, the compilation is straightforward: need to recompile everything with the appropriate flag. I don't remember what needs to be done when you run the job, but there is probably something to be done. The performance gains and flexibility is far from optimum.
You are not going to be able to utilize more than one core for computation unless you utilize parallel/threaded programming techniques. It is likely what you are seeing is your code and then some background process using one core each. Compilers generally do not generate binaries automatically parallel in that sense. One easy option is OpenMP but you are likely to see very poor scaling past two cores unless you do some very fancy mutex locking, etc. Nothing is free my friend. Good luck
I would still seriously encourage you to try a simple approach to parallelization, like a shared memory (openmp) approach. Learning the basics should take less than half a day, and you will benefit from it greatly....
After all, what do you get from a automatic parallelization that has a bad efficiency?
Try real parallelization, you will benefit greatly from it.
If you need pointers to tutorials, let me know!
|All times are GMT -4. The time now is 14:21.|