-
为什么在windows下打开压缩包按照说明运行run_simple_demo终端会一直出现无限循环
-
【问题简要】调用CC-getway签入接口提示跨域问题【问题类别】 CC-Gateway 【AICC解决方案版本】 23.200【期望解决时间】【尽快】【问题现象描述】CC-getway服务启用了http,postman调用是正常的。通过网页调用CC-getway签入接口http://ip:port/agentgateway/resource/onlineagent/{agentid},后台日志没有打印。通过抓包看,消息请求已经发到了服务端提示报错如下:Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource 【日志或错误截图】【可选】
-
埃拉托斯特尼筛法(sieve of Eratosthenes),简称埃氏筛,也称素数筛,是简单且历史悠久的筛法,用来找出一定范围内所有素数。在寻找整数N以内的素数时,古希腊数学家埃拉托斯特尼采用了一种与众不同的方法:先将2-N的各数写在纸上:在2的上面画一个圆圈,然后划去2的其他倍数;第一个既未画圈又没有被划去的数是3,将它画圈,再划去3的其他倍数;现在既未画圈又没有被划去的第一个数是5,将它画圈,并划去5的其他倍数……依此类推,一直到所有小于或等于N的各数都画了圈或划去为止。这时,画了圈的以及未划去的那些数正好就是小于N的素数。 接下来贴出详细代码: #include "mpi.h" #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "error.h" using namespace std; #define BLOCK_LOW(id, p, n) ((id) * (n) / (p)) #define BLOCK_HIGH(id, p, n) (BLOCK_LOW((id) + 1, p, n) - 1) #define BLOCK_SIZE(id, p, n) (BLOCK_LOW((id) + 1) - BLOCK_LOW(id)) #define BLCOK_OWNER(index, p, n) (((p)* (index) +1 ) -1 / (n)) #define MIN(a, b) ((a)<(b)?(a):(b)) int main(int argc, char *argv[]) { int count; /* Local prime count */ double elapsed_time; /* Parallel execution time */ int first; /* Index of first multiple */ int global_count; /* Global prime count */ int high_value; /* Highest value on this proc */ int id; /* Process ID number */ int index; /* Index of current prime */ int low_value; /* Lowest value on this proc */ char *marked; /* Portion of 2,...,'n' */ int n; /* Sieving from 2, ..., 'n' */ int p; /* Number of processes */ int proc0_size; /* Size of proc 0's subarray */ int prime; /* Current prime */ int size; /* Elements in 'marked' */ int low_index; /* Lowest index on this proc */ int high_index; /* Highest index on this proc */ MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &id); MPI_Comm_size(MPI_COMM_WORLD, &p); MPI_Barrier(MPI_COMM_WORLD); elapsed_time = -MPI_Wtime(); if (argc != 2) { if (!id) printf("Command line: %s <m> \n", argv[0]); MPI_Finalize(); exit(1); } n = atoi(argv[1]); int N = n - 1; low_index = id * (N / p) + MIN(id, N % p); high_index = (id + 1) * (N / p) + MIN(id + 1, N % p) - 1; low_value = 2 + low_index; high_value = 2 + high_index; size = high_value - low_value + 1; proc0_size = (n - 1) / p; if ((2 + proc0_size) < (int) sqrt((double) n)) { if (!id) printf("Too many processes \n"); MPI_Finalize(); exit(1); } marked = (char *) malloc(size); if (marked == NULL) { printf("Cannot allocate enough memory \n"); MPI_Finalize(); exit(1); } for (int i = 0; i < size; i++) marked[i] = 0; if (!id) index = 0; prime = 2; do { if (prime * prime > low_value) { first = prime * prime - low_value; } else { if (!(low_value % prime)) first = 0; else first = prime - (low_value % prime); } for (int i = first; i < size; i += prime) marked[i] = 1; if (!id) { while (marked[++index]); prime = index + 2; } if (p > 1) { MPI_Bcast(&prime, 1, MPI_INT, 0, MPI_COMM_WORLD); } } while (prime * prime <= n); count = 0; for (int i = 0; i < size; i++) if (marked[i] == 0) { count++; } MPI_Reduce(&count, &global_count, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); elapsed_time += MPI_Wtime(); if (!id) { printf("%d primes are less than or equal to %d \n", global_count, n); printf("Total elapsed time: %10.6f\n", elapsed_time); } MPI_Finalize(); if (!id){ char filename[50] = "result.txt"; FILE *fp; if ((fp = fopen(filename,"a+")) == NULL){ printf("fail to open file"); exit(0); } fprintf(fp, "%d %d %10.6f\n", p, n, elapsed_time); fclose(fp); } return 0; }
推荐直播
-
全面解析华为云EI-API服务:理论基础与实践应用指南
2024/11/29 周五 18:20-20:20
Alex 华为云学堂技术讲师
本期直播给大家带来的是理论与实践结合的华为云EI-API的服务介绍。从“主要功能,应用场景,实践案例,调用流程”四个维度来深入解析“语音交互API,文字识别API,自然语言处理API,图像识别API及图像搜索API”五大场景下API服务,同时结合实验,来加深开发者对API服务理解。
正在直播 -
企业员工、应届毕业生、在读研究生共探项目实践
2024/12/02 周一 19:00-21:00
姚圣伟 在职软件工程师 昇腾社区优秀开发者 华为云云享专家 HCDG天津地区发起人
大神带你一键了解和掌握LeakyReLU自定义算子在ONNX网络中应用和优化技巧,在线分享如何入门,以及在工作中如何结合实际项目进行学习
即将直播 -
昇腾云服务ModelArts深度解析:理论基础与实践应用指南
2024/12/03 周二 14:30-16:30
Alex 华为云学堂技术讲师
如何快速创建和部署模型,管理全周期AI工作流呢?本期直播聚焦华为昇腾云服务ModelArts一站式AI开发平台功能介绍,同时结合基于ModelArts 的实践性实验,帮助开发者从理论到实验更好地理解和使用ModelArts。
去报名
热门标签