【发布时间】:2012-09-03 07:56:15
【问题描述】:
您好,我编写了一个 MPI 快速排序程序,其工作原理如下:
在我的集群中,“主节点”将划分整数数据并将这些数据发送到“从节点”。在从节点接收后,每个从节点将执行单独的排序操作并将排序后的数据发送回主节点。 现在我的问题是我有兴趣为从属设备引入超线程。
我有来自 master 的数据
- sub(表示数组)
- count(数组大小)
现在我已经将 Pthreads 初始化为 where
num_threads=12.
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
for (i = 0; i < num_pthreads; i++) {
if (pthread_create(&thread[i], &attr, new_thread, (void *) &sub[i]))
{
printf("error creating a new thread \n");
exit(1);
}
else
{
printf(" threading is successful %d at node %d \n \t ",i,rank);
}
在一个新的线程函数中
void * new_thread(int *sub)
{
quick_sort(sub,0, count-1);
}
return(0);
}
我不明白我的方法是否正确。谁能帮我解决这个问题?
【问题讨论】: