小编use*_*001的帖子

SIMD和打包和标量双精度之间的区别

我正在阅读英特尔的内在指南,同时实现SIMD支持.我有一些困惑,我的问题如下.

  1. __m128 _mm_cmpeq_ps (__m128 a, __m128 b)文档说它用于比较打包的单精度浮点数."打包"是什么意思?在使用它们之前,我是否需要以某种方式打包我的浮动值?

  2. 对于双精度,有内在函数,比如_mm_cmpeq_sd"比较"双精度浮点元素.低和高双精度elemtns是什么意思?我可以使用它们来比较C++ double类型元素的向量吗?或者在比较之前我是否需要以某种方式处理它们?

c++ x86 sse simd intrinsics

17
推荐指数
2
解决办法
8718
查看次数

Ubuntu上的gcc未定义参考错误

我有一个奇怪的问题,我已经解决了所有类似的问题,但找不到答案。

我正在尝试编译一些代码,即使库是使用 -l 指定的并且也在 LD_LIBRARY_PATH 中,但它仍然抛出未定义的引用错误。我想不通原因。这是一个例子

gcc -L/home/sam/gmdb/lib -L/home/sam/db/add-ons/lib -L/home/sam/convert/lib -L/home/sam/rtana/lib -L/home/ sam/rtana/add-ons/lib -o /home/sam/gmdb/bin/server /home/sam/db/obj/tools/server/server.o /home/sam/db/obj/tools/common/ tool_data_parse.o /home/sam/db/obj/tools/common/tool_param.o /home/sam/gmdb/obj/tools/common/tool_public.o -lgmcommon -L/home/sam/db/add-ons/ vpp/lib/suse -lipsi_crypto -lipsi_osal -lipsi_pse -lipsi_ssl -lgmmd5 -lgmkernel -lgmpl -lgmrep -lgmsqlserver -lgmsqlclient -lconvert -lrtana -lglog -lgflags -lprotobuf -lre2 -lboost_timer -lmumlpthread

未定义错误列表很长,但第一个是

/home/usama/convert/lib/libconvert.so:对`numa_num_configured_cpus'的未定义引用

所以你可以看到它在抱怨 libnuma 中的一个方法。如您所见,libnuma 提供了一个 -lnuma,并且存在于 /usr/lib 中

错误提到了 libconvert,它只是一个共享库,它调用了 numa_num_configured_cpus 但没有与 libnuma 链接,这应该无关紧要,因为 libconvert 只是一个 so 文件。如上所示,我在生成可执行文件时提供了 -lnuma。这是 libconvert 上的 nm

nm -C -u convert/lib/libconvert.so | grep numa*
                 U google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)
                 U numa_num_configured_cpus
                 U numa_num_configured_nodes
Run Code Online (Sandbox Code Playgroud)

我确实尝试使用 …

c linux compiler-construction ubuntu gcc

4
推荐指数
1
解决办法
3107
查看次数

C++中命名空间后的类名

C++新手

有一个命名空间,就在它后面有几个类名

namespace abc {
 class Cursor;
 class BufferAllocator;
....
....
}
Run Code Online (Sandbox Code Playgroud)

上面的Cursor和BufferAllocator的类声明在这里做了什么?

c++

3
推荐指数
2
解决办法
168
查看次数

标签 统计

c++ ×2

c ×1

compiler-construction ×1

gcc ×1

intrinsics ×1

linux ×1

simd ×1

sse ×1

ubuntu ×1

x86 ×1