c++ bench测试simd指令avx512

cmake配置

cmake_minimum_required(VERSION 3.10)
project(BenchmarkTest)

set(CMAKE_CXX_STANDARD 11)

# 查找 Google Benchmark
find_package(benchmark REQUIRED)

# 添加源文件
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx512f -march=native")
add_definitions(-std=c++11)
add_executable(benchmark_test main.cc)

# 链接 Google Benchmark 库
target_link_libraries(benchmark_test benchmark::benchmark)

示例

#include <immintrin.h>
#include <iostream>
#include <cstring>
#include <benchmark/benchmark.h>

void mp_avx512(const int16_t * a, const int16_t * b, int16_t *result, size_t len){
    for(int i = 0; i < len; ++i){
        
        __m512i va = _mm512_loadu_si512(reinterpret_cast<const __m512i*>(a + i));
        __m512i vb = _mm512_loadu_si512(reinterpret_cast<const __m512i*>(b + i));
        __m512i vc = _mm512_mullo_epi16(va, vb);

        _mm512_storeu_si512(reinterpret_cast<__m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值