1、下载工具 git clone https://github.com/jeffhammond/STREAM # 国外镜像 git clone https://github.91chi.fun/https://github.com/jeffhammond/STREAM.git # 国内加速镜像 2、编译(需要有gcc) gcc -O3 -mcmodel=medium -mtune=native -march=native -fopenmp -DSTREAM_ARRAY_SIZE=200000000-DNTIMES=30s...
该值对测试结果影响较大(5.9版本默认值2000000,。若stream.c为5.10版本,参数名变为-DSTREAM_ARRAY_SIZE,默认值10000000)。注意:必须设置测试数组大小远大于CPU 最高级缓存(一般为L3 Cache)的大小,否则就是测试CPU缓存的吞吐性能,而非内存吞吐性能。 推荐计算公式:{最高级缓存X MB}×1024×1024×4.1×CPU路数/8...
tar -zxvf stream.tar.gz cd stream gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=30 stream.c -o stream 注意:STREAM_ARRAY_SIZE和NTIMES是编译参数,可以根据实际测试需求进行调整。STREAM_ARRAY_SIZE决定了测试数组的大小,NTIMES决定了每个测试项的执行次数。 3. 执行Stream测试并记录结果 在...
-DSTREAM_ARRAY_SIZE 是数据大小, 一般越大了测出来的带宽值越高, 但是太高了无法编译通过。 1. 2. 3. 4. 5. 6. 7. 8. numa节点验证 AI检测代码解析 CPU的内存宽带于延时于numa节点是比较关联的。 此时可以使用taskset的方式进行测试与验证。
-mcmodel=medium:当单个Memory Array Size 大于2GB时需要设置此参数(小于2GB时也可保留这个参数,此时这个参数不生效) -fopenmp:适应多处理器环境;开启后,程序默认线程为CPU线程数 -DSTREAM_ARRAY_SIZE=200000000:这个参数是对测试结果影响最大,也是最需要关注的一个参数,它用来指定计算中a[],b[],c[]数组的大小...
指定测试数组a[]、b[]、c[]的大小(Array size)。该值对测试结果影响较大(5.9版本默认值2000000,。若stream.c为5.10版本,参数名变为-DSTREAM_ARRAY_SIZE,默认值10000000)。注意:必须设置测试数组大小远大于CPU 最高级缓存(一般为L3 Cache)的大小,否则就是测试CPU缓存的吞吐性能,而非内存吞吐性能。
ubuntu@perfxlab:~/STREAM$ gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=【ARRAY_SIZE】 stream.c 测试结果如下表: 多线程 gcc -o3 结论 单核vs多核 gcc -o3 从结果可以看出,多核测试的结果明显高于单核测试的结果。多核测试利用了多个处理核心并行执行任务,从而表现出更大的数据带宽。在多核测试中,Copy操作的...
cd STREAM-master vim Makefile #Makefile 修改CFLAGS行(hang)为: CFLAGS = -O3 -ftree-vectorize -fopenmp -DSTREAM_ARRAY_SIZE=800000000 -DNTIMES=20 -mcmodel=large -mcpu=native # 修改all行为: all: stream_c.exe 3.2 编译 make clean make 3.3 修改执行文件名称 mv stream_c.exe stream_multi 4...
ubuntu@perfxlab:~/STREAM$ gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=【ARRAY_SIZE】 stream.c 测试结果如下表:结论 从结果可以看出,多核测试的结果明显高于单核测试的结果。多核测试利用了多个处理核心并行执行任务,从而表现出更大的数据带宽。在多核测试中,Copy操作的性能是单核测试的大约5倍,Scale操作的...
-march 这个参数可以不加。-DSTREAM_ARRAY_SIZE 设置的参数要保证Total memory required大于L3 cache。-DNTIMES测试次数。 gcc -O3 -fopenmp -march=sapphirerapids -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=1000 stream.c -o stream 3 运行,比如9460有40个core。