嗨,我已經寫了一個MPI快速排序程序,它的工作原理是這樣的:P線程在MPI
在我的羣集「主」將分整數數據和發送這些爲「從節點」。在從節點上接收數據後,每個從機將執行單獨的排序操作,並將排序的數據發送回主機。 現在我的問題是我有興趣引入奴隸的超線程。
我有數據從主來
- 子(其表示所述陣列)
- 計數(數組的大小)
現在我已經初始化P線程爲其中
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);
}
我不明白我的方式是否正確。任何人都可以幫我解決這個問題嗎?