|
22nd December 2020, 09:04 AM | #1 |
Administrator
Professional user
Join Date: Jun 2003
Posts: 4,565
|
Re: Overall support for multicore cpu
That's interesting. Do you mean that it doesn't link or doesn't load or doesn't run?
|
22nd December 2020, 12:08 PM | #2 |
Member
Advanced member
Join Date: Nov 2003
Posts: 35
|
Re: Overall support for multicore cpu
The program crashes. This code is part of an importer. It works on the first import but crashes on the second import.
#pragma omp parallel for (int n = 0; n < (int)num_vertices; n++) { Vertex *vtemp; v.x = vert[n].v[0]; v.y = vert[n].v[1]; v.z = vert[n].v[2]; vtemp = object_find_vertex_point(ob, &v); vindex[n] = ac_object_get_vertex_index(ob, vtemp); } |
26th December 2020, 11:48 AM | #3 |
Member
Advanced member
Join Date: Nov 2003
Posts: 35
|
Re: Overall support for multicore cpu
I got it to work. I missed one of the variables that has to be included inside the for loop.
int cores = (int)num_vertices / 100; if (cores == 0) cores = 1; if (cores > omp_get_num_procs()) cores = omp_get_num_procs(); int m; #pragma omp parallel for num_threads (cores) private(m) for (m = 0; m < (int)num_vertices; m++) { Point3 v; Vertex *vtemp; v.x = vert[m].v[0]; v.y = vert[m].v[1]; v.z = vert[m].v[2]; vtemp = object_find_vertex_point(ob, &v); vindex[m] = ac_object_get_vertex_index(ob, vtemp); } Last edited by modeler; 27th December 2020 at 11:29 AM. |
|
|