标签归档:portage
前瞻-主流处理器中的数据并行支持(SIMD)
引言部分: 多媒体处理算法应用在很多媒体处理环境中,如对文本,手写数据,2D/3D图形和音频对象的捕捉、制造、存储和传输等。过去 都是使用昂贵的多媒体处理硬件协同工作来加速。现在,通用处理器通过在体系结构上增加媒体处理支持来减少使用协同处理器分配和返回带来的开销。在通用处理 器上一个基本的操作能同时作用多个元素的支持成为SIMD并行处理。通过SIMD扩展,通用护理器通过捕捉多媒体算法中潜在的并行特性来加速应用。 自 Intel在Pentium II和Pentium 处理器引入了MMX技术以来,IA-32架构已经引入了许多SIMD扩展,分别是:MMX,流SIMD扩展(SSE), 流SIMD扩展(SSE2)和流SIMD扩展(SSE3),SSSE3,SSE4和高级向量扩展(AVX).这些扩展都提供了一组指令,能够为封装好的整点或浮点数据提供SIMD类型的操作。其他结构也 有自己的SIMD扩展。如AMD的3DNow!,Cell和PowerPC的AltiVec等等。
使用crossdev安装龙芯的O32 gnu交叉工具链
先来介绍一下n32和O32是啥,N32和O32就是MIPS系统上不同的ABI,即Application Binary Interface。MIPS体系结构最早只有o32的系统,但后来改进了寄存器的功能和分配方式,于是就又有了N32,相对于O32,N32的速度更快些。但二者目前在龙芯系统上还无法兼容。因为龙芯目前官方只支持O32,而N32有只有zhllg的overlay中有,所以使用gentoo来安装O32的工具链需要额外解决些问题,所以才有了这篇文章,之所以之前又写了N32的安装方法,是因为有zhllg大牛的技术支持,使得能直接安装N32的工具链。
用crossdev装龙芯的n32 gnu交叉工具链
不管怎样,龙芯是咱们应该骄傲的,但是用它来编译东西确实很慢,我们很需要一个交叉编译器,能够在性能稍好的平台上为龙芯平台编译程序,x86是目前比较常见的平台,本博在实际工作中,需要在gentoo系统上安装支持龙芯n32的交叉编译器,下面分享一下本博的安装过程。
crossdev是gentoo系统下很方便的交叉编译环境安装和卸载工具,想进一步了解可以参考本博的这篇文章,这里只讨论有了crossdev之后的安装过程。
首先,我们需要支持n32的gcc,glibc,linux-header,insight和binutils.其中,gcc,gdb,insight和 linux-header都已经有了官方支持,我们还需要glibc的一些patch。头疼打patch这种繁重的劳动?别急,已经有国内的开源爱好者们做好了这些,我们仅仅需要几个附加步骤即可。 继续阅读
Ebuild and emerge
记录自己学习ebuild的一点东西。但是还不完整。 继续阅读
