嗨,我写了一个 MPI 快速排序程序,它的工作原理是这样的:
在我的集群中,“主节点”将划分整数数据并将这些数据发送到“从节点”。在从节点接收后,每个从节点将执行单独的排序操作并将排序后的数据发送回主节点。现在我的问题是我有兴趣为奴隶引入超线程。
我有来自主人的数据
- sub(表示数组)
- 计数(数组的大小)
现在我已经将 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);
}
我不明白我的方法是否正确。谁能帮我解决这个问题?