草庐IT

simd-library

全部标签

c++ - 使用较新的 SIMD 版本时是否可以使用较旧的 SIMD 版本?

当我可以使用SSE3或AVX时,SSE2或MMX等较旧的SSE版本是否可用-还是我还需要单独检查它们? 最佳答案 一般来说,这些都是附加的,但请记住,多年来英特尔和AMD对这些的支持有所不同。如果您有AVX,那么您也可以使用SSE、SSE2、SSE3、SSSE3、SSE4.1和SSE4.2。请记住,要使用AVX,您还需要验证OSXSAVECPUID位是否已设置,以确保您使用的操作系统实际上也支持保存AVX寄存器。您仍应明确检查您在代码中使用的所有CPUID支持以确保稳健性(比如同时检查AVX、OSXSAVE、SSE4、SSE3、SS

c++ - 使用 SIMD 指令执行任意 128/256/512 位排列的最快方法是什么?

我想在宽度为128、256或512位的CPU寄存器(xmm、ymm或zmm)上执行单个位、位对和半字节(4位)的任意排列;这应该尽可能快。为此,我正在研究SIMD指令。有谁知道执行此操作的方法/实现它的库?我在Windows上使用MSVC,在Linux上使用GCC,宿主语言是C或C++。谢谢!我得到了一个任意排列,需要打乱大量的位vector/位vector对/半字节。我知道如何为64位值中的位执行此操作,例如usingaBenesnetwork.或者在更宽的SIMD寄存器上混洗8位和更大的block,例如将AgnerFog的GPLedVectorClass库(https://www.

Android NDK 构建 - 包括 LOCAL_SHARED_LIBRARIES?

我在AndroidNDK下构建项目时遇到问题。很可能是由于未包含适当的共享/静态库。我添加了-lsomeLib的那些,但似乎没有包含LOCAL_SHARED_LIBRARIES的那些......我的Android.mk包含以下内容LOCAL_SHARED_LIBRARIES+=libutilslibmedialibzlibbinderndk-build实际上在哪里寻找这些库?如果我不包括-lutils-lmedia-lz-lbinder,我什至无法得到链接器错误。我有一种感觉,只包括-LsomeDir和-lsomeLib并不是添加它们的正确方法。这是完整的Android.mk。LOCA

c++ - 我如何知道 Ubuntu 11.04 中 gcc、g++/c++ 的 "default include directories"、 "default link directories"和 "default link libraries"?

对于以下3种编译情况:gcc-ohellochello.c(1)g++-ohellocpphello.cpp(2)c++-ohellocpphello.cpp(3)我如何知道每种情况下的“默认包含目录”、“默认链接目录”和“默认链接库”?我在32位Ubuntu11.04环境中使用gcc4.5.2。对于情况(1),gcc使用的是标准C库还是GNUC库?这两个C库之间有区别吗?比较情况(2)和(3),编译器使用的“默认链接库”有什么不同吗?他们使用的是标准C++库还是GNUC++库?这两个C++库有什么区别?提前感谢您的任何建议。曾国荣 最佳答案

c++ - boost library........预构建的变体?

我只是使用安装程序安装boost库。它问我要安装哪些变体(大约8个选项,6个多线程和2个单线程)。我安装它只是为了掌握并练习boost,所以我不确定?此外,一旦我使用安装程序“安装”了VS02010中的库,我该如何使用这些库?提前谢谢你 最佳答案 Boostdocumentation是你的friend。阅读有关Windows入门的信息将为您节省大量时间。大部分图书馆都是header-only.您只需按照各个库文档中的描述包含正确的header即可使用它们。如果你想使用任何不是的,你将需要buildyourownlibraries,o

java - Windows 中的 Docker : Failed to load native library 'libnative-platform.so' for Linux amd64

这个问题在这里已经有了答案:Failedtoloadnativelibrary'libnative-platform.so'forLinuxamd64(7个答案)关闭4年前。我正在尝试在(通过)docker中运行项目。它在unix服务器上正常工作。我在本地计算机上使用Windows。项目结构如下所示:docker-compose.yml内容:version:'3'services:sftp:image:atmoz/sftprestart:on-failurecommand:missftp:missftp:::destWorking,destRejected,destSuccess,at

java - java.library.path 中的 org.hyperic.sigar.SigarException : no sigar-amd64-winnt. dll

我的测试程序的依赖项是org.fusesource.sigar,我还在我的类路径中添加了sigar-1.6.4.jar。我知道将sigar-amd64-winnt.dll添加到我的类路径可能会有所帮助,问题是我在哪里可以找到这个文件?我已经搜索过,甚至尝试下载它,但都没有成功。非常感谢您在这方面的帮助org.hyperic.sigar.SigarException:nosigar-amd64-winnt.dllinjava.library.pathatorg.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)atorg.hyperic.sig

windows - 有没有办法在 Windows 中模拟 LD_LIBRARY_PATH?

我有一个程序可以做一些图形。当我以交互方式运行它时,我希望它使用系统中的OpenGL来提供硬件加速图形。当我批量运行它时,我希望能够重定向它以使用MesaGL库,以便我可以使用OSMesa功能渲染到屏幕外缓冲区。如果选择了批启动选项,则通过执行LoadLibrary/GetProcAddress来启用OSMesa功能。在Linux上,完成这项工作相当容易。通过使用包装器脚本来调用程序,我可以执行如下操作:if["$OPTION"="batch"];thenexportLD_LIBRARY_PATH=$PATHTO/mesalibs:$LD_LIBRARY_PATHfi可以在Window

PHP 启动 : Unable to load dynamic library

我正在尝试将Firebird2.5.2.26539与:Windows8Apache2.2.22PHP5.4.10当我在php中启用firebird的扩展时:-extension=php_interbase.dll-extension=php_pdo_firebird.dll我收到这些错误:[26-Dec-201212:08:11UTC]PHPWarning:PHPStartup:Unabletoloaddynamiclibrary'C:\ProgramFiles(x86)\PHP\ext\php_interbase.dll'-Impossibletolocatethespecified

PHP 启动 : Unable to load dynamic library, Windows、Apache 2.2、php 5.2.11

这正成为一个非常令人沮丧的问题。我正在尝试全新安装apache2.2和PHP5.2.11。一切似乎都配置正确,但php模块没有启动...PHPWarning:PHPStartup:Unabletoloaddynamiclibrary'.;C:/ProgramFiles(x86)/ApacheSoftwareFoundation/Apache2.2/php/ext/php_mcrypt.dll'-Thespecifiedmodulecouldnotbefound.\r\ninUnknownonline0PHPWarning:PHPStartup:Unabletoloaddynamicli