gotoblas2 安装编译方法
来源:互联网 发布:淘宝卖家app官方下载 编辑:程序博客网 时间:2024/04/30 18:07
来源:http://blog.sina.com.cn/s/blog_5d964ffb0100vtak.html
1、下载地址:http://cms.tacc.utexas.edu/tacc-projects/gotoblas2/downloads/
把代码发给IBM去测试的时候,给除了上面类似的错误,在指定CPU类型之后可以正常安装运行。看了下,原来他们的CPU是目前最高端的CPU,代号是X7560,售价为3692美元,必须得感叹IBM真有钱。
I came across a problem compiling GotoBLAS2 at work today. Itwent well on a practice cluster, but on the new one I got thiserror:
gcc -c -O2 -Wall -m64 -DF_INTERFACE_G77 -fPIC -DSMP_SERVER -DMAX_CPU_NUMBER=24 -DASMNAME=strmm_ounncopy -DASMFNAME=strmm_ounncopy_ -DNAME=strmm_ounncopy_ -DCNAME=strmm_ounncopy -DCHAR_NAME=\"strmm_ounncopy_\o../kernel/x86_64/gemm_ncopy_4.S: Assembler messages:../kernel/x86_64/gemm_ncopy_4.S:192: Error: undefined symbol `RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:193: Error: undefined symbol `RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:194: Error: undefined symbol `RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:195: Error: undefined symbol `RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:197: Error: undefined symbol `WPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:345: Error: undefined symbol `RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:346: Error: undefined symbol `RPREFETCHSIZE' in operation../kernel/x86_64/gemm_ncopy_4.S:348: Error: undefined symbol `WPREFETCHSIZE' in operation
The solution was simple:
gmake clean gmake TARGET=NEHALEM
The problem appears to be that newer CPUs (Intel X5650 in mycase) are not detected properly by the CPU ID routine in GotoBlas2.You can verify this by checking the contents ofconfig.h
in the top-level directory. WithoutTARGET=NEHALEM
, I saw this line:
#define INTEL_UNKNOWN
But with TARGET=NEHALEM
, this becomes:
#define NEHALEM
The problem with gemm_ncopy_4.S
arises because itdefines RPRETCHSIZE
andWPREFETCHSIZE
using #ifdef
statements depending on CPU type. Thereis an entry for#ifdef GENERIC
, but that was not setfor me in config.h
.
In addition, if you type "gmake TARGET=NEHALEM" without "gmakeclean" first, you get a little further before you run into asimilar error:
usr/bin/ld: ../libgoto2_nehalemp-r1.13.a(ssymv_U.o):relocation R_X86_64_32S against `PREFETCHSIZE' can not be used whenmaking a shared object; recompile with -fPIC../libgoto2_nehalemp-r1.13.a(ssymv_U.o): could not read symbols:Bad value
If I was a better person, I'd have a look at how thesizes are defined and figure out what the right value is for newerCPUs, then modifycpuid.c
(which I presume is what'sbeing used to generate config.h
, or at least this partof it. Maybe another day...- gotoblas2 安装编译方法
- 安装HPL、GotoBLAS2、openmpi
- ubuntu 下Linpack安装,MPI+GOTOBLAS2
- GotoBlas2库
- 如何在Windows下编译GotoBLAS2和用CodeBlocks+MinGW编译项目时打开OpenMP
- expect安装编译方法
- FLTK编译安装方法
- PHP编译安装方法
- kdevelop编译安装方法
- FLTK编译安装方法
- Nginx编译安装方法
- GotoBlas2之IxAMAX
- GotoBlas2之IxMxx
- GotoBlas2之xASUM
- gotoblas2 速度测试
- 编译安装libjrt的方法
- GotoBlas2内核dgemm之dgemm_beta
- boost免编译在线安装方法
- 实现选项卡效果(CSS样式修饰)
- - Linux论坛 - 用GDB调试程序
- Android 任务和回退堆栈---管理任务
- 进程通信之六 UDS
- J2ME 101,第 3 部分: 深入记录管理系统
- gotoblas2 安装编译方法
- ASP.NET服务端操作ActiveX 实战宝典
- 涂鸦风潮–手绘元素的魅力【视觉设计】
- HTML <form> 标签的 enctype 属性
- gcc/g++参数详解
- visual studio 2005 启动不了问题解决
- 数字图像处理基础
- 【Android API Demos】API Demo 初探
- html的表单