资源简介

天津大学并行计算实验报告及代码

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
struct thr {
    long long tstarttend;
};
long long NN2;
double ans = 0.0;
int timesover;
thr a[10001];
void *thread(void*a){
    double t;
    thr m = *(thr*)a;
    for(long long i = m.tstart; i < m.tend; i++){
        t += 1.0/(N2+(i+0.5)*(i+0.5));
    }
    pthread_mutex_lock(&mutex);
    ans += t;
    over++;
    pthread_mutex_unlock(&mutex);
    void* statu;
    pthread_exit(&statu);
};
int main(int argc char* argv[]){
    struct timeval tv;
    gettimeofday(&tvNULL);
    double t_start t_end;
    long long st = 0;
    t_start = (double)tv.tv_sec + (double)tv.tv_usec/1000000.0;
    int i;
    long long len;
    pthread_t pthr[10001];
    //thr a[10001];
    times = atoi(argv[1]);  //线程数
    N = atoi(argv[2]);      //总数
    len = (N+times-1)/times;
    N2 = N*N;

    for(i = 0; i < times; i++){
        a[i].tstart = st;
        a[i].tend = min(st+lenN);
        st = st + len;
        pthread_create(&pthr[i]NULLthread&a[i]);
    }
    while(over!=times){
        usleep(3);
    }
    ans = 4.0*N*ans;
    pthread_mutex_destroy(&mutex);
    gettimeofday(&tvNULL);
    t_end = (double)tv.tv_sec + (double)tv.tv_usec/1000000.0;
    printf(“pthread_num: %2d N: %9lld  pi: %.12lf time_cost: %lf\n“timesNanst_end-t_start);
    return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-04-05 13:38  实验一\
     文件       34837  2017-03-23 09:57  实验一\hw1
     文件        1595  2017-03-23 09:57  实验一\hw1.cpp
     文件       14400  2017-03-23 09:57  实验一\hw1.o43227
     文件         148  2017-03-18 19:41  实验一\serial.cpp
     文件        3452  2017-03-23 09:57  实验一\t1.pbs
     目录           0  2017-03-23 15:20  实验二\
     文件    72536322  2017-03-22 10:38  实验二\Parallel_compumatrix.txt
     文件    21143898  2017-03-22 13:33  实验二\ans4pthread.txt
     文件    21143898  2017-03-22 13:34  实验二\ans9pthread.txt
     文件    21143898  2017-03-22 13:33  实验二\ans_serial.txt
     文件       33102  2017-03-23 09:57  实验二\hw2
     文件        2658  2017-03-23 09:57  实验二\hw2.cpp
     文件        4980  2017-03-23 09:57  实验二\hw2.o43408
     文件       34041  2017-03-23 09:57  实验二\hw2serial
     文件        1484  2017-03-23 09:57  实验二\hw2serial.cpp
     文件         680  2017-03-22 10:38  实验二\matrix.cpp
     文件       61656  2017-03-22 10:38  实验二\matrix.exe
     文件        2045  2017-03-22 10:38  实验二\matrix.o
     文件        1402  2017-03-23 09:57  实验二\t2.pbs
     文件      849926  2017-04-20 20:54  实验报告一.pdf
     文件      729367  2017-04-20 20:54  实验报告二.pdf

评论

共有 条评论