Click here to Skip to main content
15,879,326 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Overriding problem Pin
Davie2124014-Feb-19 5:03
Davie2124014-Feb-19 5:03 
QuestionUsing OpenMP - #of CPU or # of threads ? Pin
Vaclav_8-Feb-19 10:19
Vaclav_8-Feb-19 10:19 
AnswerRe: Using OpenMP - #of CPU or # of threads ? Pin
leon de boer8-Feb-19 21:35
leon de boer8-Feb-19 21:35 
AnswerRe: Using OpenMP - #of CPU or # of threads ? Pin
Richard MacCutchan8-Feb-19 22:36
mveRichard MacCutchan8-Feb-19 22:36 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Vaclav_9-Feb-19 4:14
Vaclav_9-Feb-19 4:14 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Richard MacCutchan9-Feb-19 6:40
mveRichard MacCutchan9-Feb-19 6:40 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Vaclav_9-Feb-19 7:17
Vaclav_9-Feb-19 7:17 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
k50549-Feb-19 8:20
mvek50549-Feb-19 8:20 
I'd recommend you google for "openmp tutorial C++" and work through one or more of them. I don't know anything about OpenMP, except that its a MultiProcessing (i.e. threading) extension to C/C++. I do know that multi-threading is easy to get wrong. Added to which, having multiple threads means that you get out-of-order (to the human brain, anyway) execution, which can lead to unexpected results e.g. (the following code comes from one of the tutorials ... don't ask me anything further about it!)
<div class="op">Quote:</div>$ cat example.c 
 #include <omp.h>
 #include <stdio.h>

int main()
{
 #pragma omp parallel
    {
        int ID = omp_get_thread_num();
        printf("hello(%d)", ID);
        printf("world(%d)\n", ID);
    }

    return 0;
}
$ gcc -fopenmp example.c -o example
$ ./example
hello(1)world(1)
hello(0)world(0)
hello(3)world(3)
hello(2)world(2)
$ ./example
hello(3)world(3)
hello(0)world(0)
hello(1)world(1)
hello(2)world(2)
$ ./example
hello(3)world(3)
hello(2)hello(1)world(1)
hello(0)world(0)
world(2)
That's about as simple as a MP program gets, and you can see that
a) the threads didn't run in the same order every time, and
b) in the last run thread(2) was interrupted by thread(1) and thread(0) before it completed.

Proceed with caution!

modified 9-Feb-19 14:37pm.

GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
k50549-Feb-19 8:38
mvek50549-Feb-19 8:38 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Vaclav_9-Feb-19 13:11
Vaclav_9-Feb-19 13:11 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
leon de boer9-Feb-19 16:52
leon de boer9-Feb-19 16:52 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Vaclav_10-Feb-19 4:34
Vaclav_10-Feb-19 4:34 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Richard MacCutchan10-Feb-19 6:42
mveRichard MacCutchan10-Feb-19 6:42 
GeneralRe: Using OpenMP - #of CPU or # of threads ? Pin
Richard MacCutchan9-Feb-19 22:42
mveRichard MacCutchan9-Feb-19 22:42 
QuestionC coding to evaluate an arithmetic expression Pin
Member 119317847-Feb-19 12:08
Member 119317847-Feb-19 12:08 
AnswerRe: C coding to evaluate an arithmetic expression Pin
jeron17-Feb-19 14:16
jeron17-Feb-19 14:16 
AnswerRe: C coding to evaluate an arithmetic expression Pin
leon de boer7-Feb-19 17:52
leon de boer7-Feb-19 17:52 
AnswerRe: C coding to evaluate an arithmetic expression Pin
CPallini7-Feb-19 23:21
mveCPallini7-Feb-19 23:21 
RantWhy "make"? Pin
Vaclav_7-Feb-19 5:28
Vaclav_7-Feb-19 5:28 
GeneralRe: Why "make"? Pin
Richard MacCutchan7-Feb-19 6:00
mveRichard MacCutchan7-Feb-19 6:00 
GeneralRe: Why "make"? Pin
k50547-Feb-19 7:07
mvek50547-Feb-19 7:07 
GeneralRe: Why "make"? Pin
leon de boer7-Feb-19 17:13
leon de boer7-Feb-19 17:13 
JokeRe: Why "make"? Pin
Richard MacCutchan7-Feb-19 22:19
mveRichard MacCutchan7-Feb-19 22:19 
GeneralRe: Why "make"? Pin
CPallini7-Feb-19 23:05
mveCPallini7-Feb-19 23:05 
GeneralRe: Why "make"? Pin
Dar Brett8-Feb-19 16:02
Dar Brett8-Feb-19 16:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.