資源簡介
并行計算課程實驗代碼,c語言寫的,在MacOS系統下的openmp的pi值計算和PSRS的實現,注釋清晰,且PSRS處理了不整除的情況。懶得編譯可使用我提供的run.sh腳本。加上待編譯的文件作為參數即可。
代碼片段和文件信息
#include?
#include?
#include?
#include?
#define?INIT_TYPE?10
#define?ALLTOONE_TYPE?100
#define?ONETOALL_TYPE?200
#define?MULTI_TYPE?300
#define?RESULT_TYPE?400
#define?RESULT_LEN?500
#define?MULTI_LEN?600
int?Spt;//Spt=處理器數-1即p-1
long?DataSize;//數據總個數,即n
int?*arr*arr1;//存儲數據的數組
int?mylength;//每個處理器,處理的數據的長度。mylength=DataSize/SumID,即n/p
int?*index;//index計算主元間的數據個數即下標
int?*temp1;//臨時存儲變量,作用很多
/*輸出錯誤信息*/
void?merror(char*?ch)
{
????printf(“%s\n“ch);
????exit(1);
}
/*串行快速排序算法*/
void?quicksort(int?*datasint?bbint?ee)
{
????int?ttij;
????tt?=?datas[bb];
????i?=?bb;
????j?=?ee;
????if?(i ????{
????????while(i ????????{
????????????while?((i ????????????if?(i ????????????{
???
評論
共有 條評論