just wondering how the i5 an i7 architectures are handling threading ?
does anybody know if my oF code can make use of the multicores with i5/i7 even without threading implemented ? means : is just one core working or are the sharing the bloody job ? (means:faster)
found this info regarding i7 :
All the Core i7 processors are Native Quad cores (4 cores), which means that they actually have 4 cores on a single die, while the older Core 2 Duo processors like the Q6600 (2×2 = 4 cores) had two cores on a single die, and two such dies merged together. This increases the processing speed greatly.
any ideas ?
i think they work just like any other multi core processor, to take advantage of multicore you have to work with threads. Your OS will then process theses separate threads in different cores as needed.
so running a program on a single thread should mean it is only taking advantage of a single core.
Rui is exactly right, you will not see any performance boost unless part of your code is threaded already, like sound, or if you explicitly add on threading capability. I’ve had some great success using openMP for this purpose on my C2D and Atom boards.
If you need help setting up openMP with oF, let me know. On linux and windows with codeblocks or visual studio it is pretty simple, I imagine it is easy in xcode as well.
In visual studio there is a checkbox somewhere in the compiler or linker settings to use openmp, in codeblocks (and probably xcode) you just have to add the linker option -fopenmp, and make sure you have the libraries installed.