OpenMP* アプリケーションの既存のタスクの情報を表示します。
このコマンドは、OpenMP* アプリケーションで task_id で指定した既存のタスクについて次の情報を表示します。
種類
状態
タスクを実行中のスレッド
親タスク
スポーンされたタスク
タスクの場所
現在のロックを作成したソースコード
task_id を指定しない場合、このコマンドは OpenMP* アプリケーションのすべての既存のタスクを表示します。
このコマンドは、OpenMP* バージョン 3.0 以上をサポートしています。古いバージョンでは、このコマンドの機能は制限されます。
この例でデバッグしているプログラムは、タスクスポーンによって 5 番目のフィボナッチ数を計算して、前の 2 つの数を再帰的に計算します。次のソースコードを例に考えます。
1 #include <stdio.h>
2 #include <omp.h>
3
4 static int fib(int n) {
5 if (n == 0) {
6 return 0;
7 } else if (n == 1) {
8 return 1;
9 } else {
10 int i = 0;
11 int j = 0;
12
13 #pragma omp task shared(i)
14 i = fib(n-1);
15
16 #pragma omp task shared(j)
17 j = fib(n-2);
18
19 #pragma omp taskwait
20 return i+j;
21 }
22 }
23
24
25 main()
26 {
27 int result = 0;
28
29 omp_set_num_threads(4);
30
31 #pragma omp parallel
32 {
33 #pragma omp single
34 {
35 result = fib(5);
36 }
37 }
38
39 printf("fib(5) = %d\n", result);
40 }
次の例は、idb info task で表示される情報の種類を示しています。
(idb) b 6 Breakpoint 1 at 0x804898e: file /fib.C, line 6. (idb) r Starting program: /fib [New Thread 3086866112 (LWP 22340)] [New Thread 3086866112 (LWP 22340)] [New Thread 1194912 (LWP 22341)] [New Thread 7830432 (LWP 22342)] [New Thread 9931680 (LWP 22343)] [New Thread 15641504 (LWP 22344)] Breakpoint 1, fib (n=0) at /fib.C:6 6 return 0; (idb) idb info task 4 implicit task on thread 1 in team 1 State: suspended by unknown Created at: unknown Parent task: - Child task: 15 16 17 18 15 implicit task on thread 1 in team 7 State: suspended by unknown Created at: "/fib.C":main:31:37 Parent task: 4 Child task: 20 19 16 implicit task on thread 3 in team 7 State: suspended by unknown Created at: "/fib.C":main:31:37 Parent task: 4 Child task: none 17 implicit task on thread 4 in team 7 State: running Created at: "/fib.C":main:31:37 Parent task: 4 Child task: none 18 implicit task on thread 5 in team 7 State: running Created at: "/fib.C":main:31:37 Parent task: 4 Child task: none 19 tied task on thread 3 in team 7 State: suspended by unknown Created at: "/fib.C":fib:13:13 Parent task: 15 Child task: 25 26 20 tied task on thread 1 in team 7 State: suspended by unknown Created at: "/fib.C":fib:16:16 Parent task: 15 Child task: 21 21 tied task on thread 1 in team 7 State: suspended by unknown Created at: "/fib.C":fib:13:13 Parent task: 20 Child task: 23 24 23 tied task on thread unknown in team 7 State: created Created at: "/fib.C":fib:13:13 Parent task: 21 Child task: none 24 tied task on thread 1 in team 7 State: running Created at: "/fib.C":fib:16:16 Parent task: 21 Child task: none 25 tied task on thread unknown in team 7 State: created Created at: "/fib.C":fib:13:13 Parent task: 19 Child task: none 26 tied task on thread 3 in team 7 State: running Created at: "/fib.C":fib:16:16 Parent task: 19 Child task: 27 27 tied task on thread unknown in team 7 State: created Created at: "/fib.C":fib:13:13 Parent task: 26 Child task: none