五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

。。。

2023-05-26 20:10 作者:釋o懷灬  | 我要投稿

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <time.h>

#include <mpi.h>


double f(double x) {

? ? return 4.0 / (1.0 + x * x);

}


int main(int argc, char **argv) {

? ? int rank, size, i, n;

? ? double pi, h, sum, x;


? ? MPI_Init(&argc, &argv);


? ? MPI_Comm_rank(MPI_COMM_WORLD, &rank);

? ? MPI_Comm_size(MPI_COMM_WORLD, &size);


? ? if (argc != 2) {

? ? ? ? if (rank == 0) {

? ? ? ? ? ? printf("Usage: mpiexec -n <num_procs> %s <num_steps>\n", argv[0]);

? ? ? ? }

? ? ? ? MPI_Finalize();

? ? ? ? return 1;

? ? } else {

? ? ? ? n = atoi(argv[1]);

? ? }


? ? // 梯形積分法

? ? double start_time_trap = MPI_Wtime();? // 記錄開始時間

? ? h = 1.0 / n;

? ? int chunk = n / size;


? ? int start = rank * chunk;

? ? int end = (rank == size - 1) ? n : (rank + 1) * chunk;


? ? sum = 0.0;

? ? for (i = start; i < end; i++) {

? ? ? ? x = h * (i + 0.5);

? ? ? ? sum += f(x);

? ? }

? ? sum *= h;


? ? MPI_Reduce(&sum, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); // 結(jié)果匯總


? ? if (rank == 0) {

? ? ? ? double end_time_trap = MPI_Wtime();? // 記錄結(jié)束時間

? ? ? ? printf("Using trapezoidal rule with %d processes, %d steps, pi = %.16f, time = %f s\n", size, n, pi, end_time_trap - start_time_trap);

? ? }


? ? // 蒙特卡洛法

? ? int total_samples = atoi(argv[1]) / size;


? ? double start_time_monte = MPI_Wtime();? // 記錄開始時間

? ? srand(time(NULL) + rank * 1000);


? ? count = 0;

? ? for (i = 0; i < total_samples; i++) {

? ? ? ? x = (double)rand() / RAND_MAX;

? ? ? ? y = (double)rand() / RAND_MAX;

? ? ? ? if (x * x + y * y <= 1.0) {

? ? ? ? ? ? count++;

? ? ? ? }

? ? }


? ? int global_count;

? ? MPI_Reduce(&count, &global_count, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD);? // 結(jié)果匯總


? ? if (rank == 0) {

? ? ? ? double end_time_monte = MPI_Wtime();? // 記錄結(jié)束時間

? ? ? ? pi = 4.0 * (double)global_count / (double)atoi(argv[1]);

? ? ? ? printf("Using Monte Carlo method with %d processes, %d samples, pi = %.16f, time = %f s\n", size, atoi(argv[1]), pi, end_time_monte - start_time_monte);

? ? }


? ? MPI_Finalize();

? ? return 0;

}


。。。的評論 (共 條)

分享到微博請遵守國家法律
济阳县| 图木舒克市| 天峻县| 德化县| 崇左市| 普安县| 宕昌县| 长宁县| 万荣县| 甘孜县| 右玉县| 松桃| 平乐县| 鄂托克旗| 井研县| 潢川县| 丹棱县| 开化县| 正阳县| 湟中县| 达孜县| 湖口县| 凤冈县| 深圳市| 马山县| 天峻县| 咸宁市| 滦平县| 沈丘县| 陇川县| 商南县| 蒲城县| 彭阳县| 乐业县| 大石桥市| 长岛县| 彭阳县| 株洲市| 贵南县| 交城县| 栖霞市|