BLAS+BLACS+LAPACK+SCALAPACK安装

2023-11-14

最快的安装是用下面的scalapack_installer,它将自动联网安装SCALAPACK以及所需要的BLAS, BLACS,LAPACK。

 

下面是简短说明:

 

INTRODUCTION

The ScaLAPACK installer is a set of python scripts developed to ease
the installation of the ScaLAPACK library. It can automatically
download, configure and compile the ScaLAPACK including all its
dependencies that are BLAS, LAPACK and BLACS libraries. All it needs
is the mpi C and FORTRAN compilers mpicc and mpif77 (note that the
names of these compilers may be different than mpicc and mpif77 on
some systems). Please note that this is an alpha version and, even if
it has been tested on a wide set of systems, may not work. In case you
encounter a problem, your feedback would be greatly appreaciated and
would be very useful to improve the quality of this installer.
Please submit your complaints and suggestions to scalapack@cs.utk.edu
or on the lapack/scalapack forum: http://icl.cs.utk.edu/lapack-forum/

Note: If you want use a proxy for downloading, the http_proxy environment variable has to be set.

If the required packages cannot be automatically downloaded (for
example, because no network connection is available on the system),
you can take them any way you like from the following URLs and place
them in the build directory (if the directory does not exist, create
it):

BLAS : http://netlib.org/blas/blas.tgz


LAPACK : http://netlib.org/lapack/lapack.tgz


BLACS : http://netlib.org/blacs/mpiblacs.tgz


ScaLAPACK : http://netlib.org/scalapack/scalapack-1.8.0.tgz



Please note that, in the case where the installer is asked to
automatically download and install the BLAS library, the reference
BLAS is installed and, thus, very low performance is to be expected.
It is strongly recommended that you use an highly optimized BLAS
library (like ATLAS, MKL, GotoBLAS, ESSL etc.) and provide a path to
its location through the --blaslib flag.


压缩包内带说明。

 

下载:

scalapack_installer.tgz
http://www.netlib.org/scalapack/scalapack_installer.tgz

 

需要注意的是,这个脚本安装工具会自动设置系统的BLAS链接,如果你需要一个更好的BLAS库,建议你安装优化的BLAS如ATLAS, MKL, GotoBLAS, ESSL等,并且将-blaslib参数指向该库位置。

 

 

tar xzvf

./setup.py

--prefix=/opt/mathlibs/scalapack /

--mpibindir=/opt/mpich/intel/bin /

--mpiincdir=/opt/mpich/intel/include /

--blaslib=/opt/mathlibs/gotolib/libgoto.a /

--f90=gfortran /

--downblacs /

--downlapack

 

root@node8:/softwareBAK/mathlibs/scalapack/scalapack_installer_0.96#./setup.py --prefix=/opt/mathlibs/scalapack --mpibindir=/opt/mpich/ch-p4/bin --mpiincdir=/opt/mpich/ch-p4/include --blaslib=/opt/mathlibs/gotolib/1.1.26/libgoto.a --f90=gfortran --downblacs --downlapack

========================================

Setting up the framework

 

Install directory is... /opt/mathlibs/scalapack

MPI bin dir is /opt/mpich/ch-p4/bin

MPI include dir is /opt/mpich/ch-p4/include

The Fortran 90/95 compiler is gfortran

mpicc : /opt/mpich/ch-p4/bin/mpicc

mpif77 : /opt/mpich/ch-p4/bin/mpif77

Checking if mpicc works... yes

Checking if mpif77 works... yes

Checking if the Fortran 90/95 compiler works... yes

Setting Fortran mangling... -DAdd_

Setting download command...

Checking availability of urllib... available

Testing urllib... not working

Checking availablility of wget... available

Testing wget... working

Setting ranlib command... /usr/bin/ranlib

Detecting Fortran 77 compiler... unknown

Detecting C compiler... unknown

Selected C compiler flags: -O3

Selected Fortran77 compiler flags: -O3

Selected loader flags (C main):

Selected loader flags (F77 main):

Selected NOOPT flags:

Checking loader... works

 

========================================

BLAS installation/verification

========================================

Checking if provided BLAS works... yes

 

========================================

Lapack installation/verification

========================================

Download and install LAPACK from netlib.org

Download LAPACK... done

Unzip and untar LAPACK... done

Installing lapack-3.2.1 ...

Setting ETIME... EXT_ETIME

Writing make.inc... done.

Compiling lapack-3.2.1 (this will take several minutes)... Installation of LAPACK successful.

(log is in /opt/mathlibs/scalapack/log/laplog )

 

========================================

BLACS installation/verification

========================================

Downloading BLACS... done

Unzip and untar BLACS... done

Setting TRANSCOMM... -DCSameF77

 

Writing Bmake.inc... done.

Compiling BLACS...done

(log is in /opt/mathlibs/scalapack/log/blacslog )

 

========================================

ScaLAPACK installer is starting now. Buckle up!

========================================

Installing scalapack-1.8.0 ...

Writing SLmake.inc... done.

Compiling ScaLAPACK... Installation of ScaLAPACK successful..

(log is in /opt/mathlibs/scalapack/log/scalog )

Compiling test routines...

done

done. ScaLAPACK is installed. Use it in moderation :-)

 

******************************************************

******************************************************

 

ScaLAPACK installation completed.

 

 

Your BLAS library is:

/opt/mathlibs/gotolib/1.1.26/libgoto.a

 

Your BLACS libraries are:

/opt/mathlibs/scalapack/lib/blacs.a

/opt/mathlibs/scalapack/lib/blacsC.a

/opt/mathlibs/scalapack/lib/blacsF77.a

 

Your LAPACK library is:

/opt/mathlibs/scalapack/lib/libreflapack.a

 

Your ScaLAPACK library is:

/opt/mathlibs/scalapack/lib/libscalapack.a

 

Log messages are in the

/opt/mathlibs/scalapack/log

directory.

 

The Scalapack testing programs are in:

/opt/mathlibs/scalapack/build/scalapack-1.8.0/TESTING

 

The

/opt/mathlibs/scalapack/build

directory contains the source code of the libraries

that have been installed. It can be removed at this time.

 

******************************************************

******************************************************

 

 

 

 

其他参考:

 

BLACS安装说明

http://www.netlib.org/blacs/.

 

Installing and testing BLACS and ScaLapack using gnu/pgi compilers
http://luke.eng.uci.edu/rmc3po/scalapack.notes

 

论坛:

http://icl.cs.utk.edu/lapack-forum

 

 

错误1:

COMMON: in check_linking: cannot link

Cannot link a C main program to a Fortran77 subroutine

Make sure that the appropriate flags are passed to the linker.

command is: /opt/mpich/intel/bin/mpif77 -o lnk tmpf.o tmpc.o

error is:

****************************************

tmpc.o: In function `main':

tmpc.c:(.text+0x0): multiple definition of `main'

/opt/intel/Compiler/11.1/059/lib/intel64/for_main.o:/export/users/nbtester/efi2linux_nightly/branch-11_1/20091013_000000/libdev/frtl/src/libfor/for_main.c:(.text+0x0): first defined here

ld: Warning: size of symbol `main' changed from 80 in /opt/intel/Compiler/11.1/059/lib/intel64/for_main.o to 64 in tmpc.o

/opt/intel/Compiler/11.1/059/lib/intel64/for_main.o: In function `main':

/export/users/nbtester/efi2linux_nightly/branch-11_1/20091013_000000/libdev/frtl/src/libfor/for_main.c:(.text+0x38): undefined reference to `MAIN__'

 

 

解决方法:

mpich是用intel编译器编译的,用gcc重新编译一个即可。

 


错误2:

ScaLAPACK: error building ScaLAPACK test routines

stderr:

****************************************

/opt/mathlibs/gotolib/1.1.26/libgoto.a(sgemm_incopy.o): In function `sgemm_incopy':

../kernel/x86_64/../generic/gemm_ncopy_8.c:(.text+0x9a9): undefined reference to `_intel_fast_memcpy'

collect2: ld returned 1 exit status

make[1]: *** [/opt/mathlibs/scalapack/build/scalapack-1.8.0/TESTING/xspblas1tst] Error 1

make: *** [pblasexe] Error 2

 

解决:
libgoto.a是用intel编译器编译的,换成gcc编译即可

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BLAS+BLACS+LAPACK+SCALAPACK安装 的相关文章

  • 什么时候必须在模块中使用 CONTAINS?

    我定义了以下模块 module data model 2 implicit none TYPE DEFINITION type type1 record integer month integer day integer year inte
  • Fortran 77 续行[重复]

    这个问题在这里已经有答案了 所以我必须用 fortran77 和 f 文件扩展名编写这个程序 并且我不想使用选项来编译它 我想修复该错误 但由于某种原因 我尝试过的所有操作仍然给我这个错误 我已经包含了代码和错误终端输出 程序 p1 隐式无
  • ctags 和 Fortran 的接口

    我想知道如何让 ctags 使用 Fortran 中的接口 例如 INTERFACE SOME ROUTINE MODULE SOME ROUTINE A MODULE SOME ROUTINE B END SOME ROUTINE 因此
  • 使用泰勒展开式计算正弦的程序不起作用?

    我正在尝试编写一些代码 使用泰勒展开计算 sin 0 75 的值 并打印每次迭代 直到使用展开计算的值与使用 Fortran 的内在 sin 函数计算的值之间的绝对差为小于1E 6 这是我的代码 program taylor implici
  • 将标量和数组(任意维度)从 Fortran 传递到 C

    我有以下名为的 Fortran 子例程show value调用一个名为的 C 函数show value INTERFACE SUBROUTINE show value variable BIND C name show value USE
  • Fortran 输出为两行而不是一行

    我正在运行一个 fortran 90 程序 该程序有一个 i 1 到 40 的 alpha 值数组 我尝试使用以下代码将数组输出为 5 行 每行 8 行 write 4 alpha write 4 alpha 1 alpha 2 alpha
  • Fortran 小数和千位分隔符

    有没有办法更改逗号的句点小数分隔符 另外 如何使输出数字具有千位分隔符 这可以是逗号 句号 空格 打开文件时使用参数 DECIMAL COMMA open 100 file logfile status unknown DECIMAL CO
  • 为什么在 Fortran 中使用命令 PRINT 会覆盖输入文件?

    我正在编写代码并使用 Fortran 中的输入和输出功能 代码看起来像这样 仅用于简化 PROGRAM TEST REAL DIMENSION 1000 A REAL B INTEGER T Defining input and outpu
  • 如何在 makefile 中定义变量,然后在 Fortran 代码中使用它

    我试图在 makefile 中定义一个变量 然后根据是否设置了该变量 更改在我的 Fortran 例程中编译的代码块 简单的例子我无法工作 program test implicit none integer a ifdef MYVAR a
  • C++/Fortran 中贝塞尔函数的集成 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何在 Fortran 或 和 C 中对包含贝塞尔函数的方程进行从 0 到 无穷大 的数值积分 我在matlab中做了 但对于较大的输入和特
  • Fortran 读取混合字符串和数字数据

    我在读取语句时遇到问题 我更喜欢 Fortran90 尽管如果有帮助的话其他版本也是可能的 我的文件中有一堆数据行 可以描述为 以空格分隔 没有固定的格式 包含一个字符串 后跟 7 个数字 字符串包含正斜杠 这是一个例子 maxele OS
  • 将 C 字符串数组传递给 Fortran (iso_c_binding)

    如何传递 C 字符串数组 char cstrings 到 Fortran 子程序 问题使用 iso c binding 的 fortran C 桥接器中的字符串数组 https stackoverflow com questions 968
  • Fortran 读取混合文本和数字

    我正在使用 Fortran 90 读取包含以下格式数据的文件 number 125 var1 2 var2 1 var3 4 number 234 var1 3 var2 5 var3 1 我尝试了以下命令并且工作正常 read 2 tem
  • Fortran:向文件添加列(即跳过不同数量的水平空格)

    我是 Fortran f90 的初学者 一些看似简单的问题结果却导致严重头痛 感谢您帮助我解决这个问题 我的代码运行一个循环 处理数据并将它们写入文件 我希望将这些数据写入同一文件的列中 直到循环完成 OPEN unit 11 file f
  • 使用命令行查找数据文件的行数

    有一种常规方法 逐行读取并检查iostat每次读数时都会达到非零或负值 不过 我想打电话system command 例行公事和 使用wc l命令来计算数量 然后想要分配要放置数据的数组的维度 例如 我以两种方式打印行数 Program T
  • Dependency Walker 未显示所有依赖的 Dll

    我有一个 fortran dll 我想知道它所依赖的程序集再分配目的 http software intel com en us forums showthread php t 73161 我发现的一件事是依赖项步行器没有显示所有依赖项 即
  • 编译错误:无法打开模块文件

    我有这个代码 PROGRAM xfit driver for routine fit USE nrtype USE nrutil USE nr USE ran state ONLY ran seed IMPLICIT NONE INTEGE
  • 如何用好Fortran语句标签?

    我正在开发一个用 Fortran 95 编写的模型 我对此完全陌生 语句标签的概念似乎很奇怪 到目前为止我只找到了标签可以由作者任意决定的解释 通常以 10 为增量 除了更容易地找出语句的结尾位置之外 这些标签还有其他实际用途吗 以及关于如
  • fortran中双引号和单引号的区别?

    我刚刚开始使用 Fortran 对双引号和单引号的使用感到困惑 它们是等价的 它们的用法没有区别 您可以使用它来打印引号字符之一 print print 首先打印 进而 注意 您还可以在一行中使用两个引号字符来打印一个 print prin
  • Fortran PURE 函数可以使用全局参数吗?

    在我看来 Fortran 中所谓的纯函数对于那些使用函数式编程的人来说似乎不够纯粹 这是我的问题 假设我有以下代码 MODULE basics IMPLICIT NONE INTEGER PARAMETER dp kind 1 0d0 RE

随机推荐

  • 将h5封装为微信小程序

    1 要求网站域名必须为https 2 登录微信公众号好注册一个小程序账号 3 打开威胁你开发者工具进行创建 4 打开app json文件 pages项只保留 pages index index 这一行 5 打开 pages index in
  • 【千律】C++基础:类定义和类实现的分离

    类定义就是指定义类名 是 h文件 类实现是指对类定义的具体实现 是 cpp文件 下面是Student h中的内容 pragma once include
  • frc机器人比赛主题_参加了十几场机器人竞赛后,我才敢告诉你:怎样做到不“踩坑”?...

    在决定参加比赛之前 先问自己为什么 为什么要先聊这一点 因为这个问题会决定你的很多选择 很多家长会先去看那个 果 比如 比赛获奖有没有用 这个比赛含金量如何 但是这个 因 是每个家长要先问自己的 你是不是认同机器人竞赛是对孩子综合能力的提升
  • 2000端口号的坑

    这两天对接某游戏的充值接口的时候碰到一个恶心的问题 公司机器和服务器请求游戏方2000端口号的时候 死活获取不到返回No Response 但是同一个请求串外网环境都是正常的 经多次和游戏方你来我往之后发现 2000端口默认是sccp协议
  • 2W字长文吐血整理 Docker&云原生

    Docker 和 云原生 一 概念介绍 1 1 Docker Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 然后发布到任何流行的 Linux或Windows操作系统的机器上 也可以实现虚拟
  • React 应用的 Nginx 缓存控制

    典型 React 应用面临的缓存问题 可通过 Nginx 配置进行解决 通用部署 构建应用后 只需使用 Nginx 指向静态文件即可 server listen 80 root PATH TO APP build try files uri
  • 爬虫碎碎念

    20230304 非专业人士 简单记录自己的需求和思考 0 引言 平时看到一些网站的照片什么的 有那种批量下载的需求 当然有些也是视频网站的图片介绍什么的 也即是说 我需要把这些网站的照片批量下载下来 以前的时候 写过简单的爬虫 因为需求比
  • Docker——搭建ELK

    安装Elasticsearch 1 拉取镜像 docker box home box docker pull elasticsearch 7 14 2 2 在宿主机准备配置文件 创建目录 docker box mkdir p server0
  • 资源list:Github上关于大数据的开源项目、论文等合集

    Awesome Big Data A curated list of awesome big data frameworks resources and other awesomeness Inspired byawesome php aw
  • 注释转换(C->C++)

    转换原理图解 基于上图原理 可以写出代码 主函数 define CRT SECURE NO WARNINGS 1 include
  • Jenkins从配置到实战(二) - Jenkins的Master-Slave分布式构建

    前言 Jenkins的Master Slave分布式构建 就是通过将构建过程分配到从属Slave节点上 从而减轻Master节点的压力 而且可以同时构建多个 有点类似负载均衡的概念 简单理解就是 将Jenkins服务器上的构建任务分配到其他
  • 数据采集专家----4通道AD采集子卡推荐

    FMC136是一款4通道250MHz采样率16位AD采集FMC子卡 符合VITA57规范 可以作为一个理想的IO模块耦合至FPGA前端 4通道AD通过高带宽的FMC连接器 HPC 连接至FPGA从而大大降低了系统信号延迟 该板卡支持板上可编
  • Unity_Shader高级篇_16_Unity Shader入门精要_减少计算复杂度

    16 8 减少计算复杂度 16 8 1 Shader的LOD技术 和16 5 2提到的模型的LOD技术类似 Shader的LOD技术可以控制使用的Shader等级 它的原理是 只有Shader的LOD值小于某个设定的值 这个Shader才会
  • vue rsa对密码加密(jsencrypt)

    首先用npm命令下载jsencrypt npm install jsencrypt dep 在vue文件中引入jsencrypt import JSEncrypt from jsencrypt 对password加密 this encryp
  • vcglib 说明(转载)

    先来看看 VCGlib 能做什么 最基本的 它提供 Mesh triangular mesh tetrahedralmesh 三角网格或四面体网格 数据结构的定义 该数据结构支持对 Mesh数据的快速访问 拓扑信息 空间查询等 以及高效执行
  • Linux编译器-gcc 的使用以及 make/Makefile的用法

    文章目录 一 gcc 编译器 1 gcc 命令格式 gcc选项 2 完成过程 2 1预处理 2 2 编译 生成汇编 2 3 汇编 生成机器可识别代码 2 4 链接 生成可执行文件 二 make Makefile 1 简单介绍 2 示例代码
  • Scala高阶函数

    匿名函数 而在大量的spark中大都用的是匿名函数 不为函数命名 然后将其复制个一个变量 如 匿名函数格式 Val 变量名 参数 类型 gt 函数体 高阶函数 函数参数 1 将函数做参数传给另一个函数 如 首先我们定义了一个函数BigDat
  • 学习记录——matlab批量读取与存储

    要求文件名按照一定规律排列 如 代码 clc close all clear 设置目标文件夹的路径 folder C Users 26748 Desktop two saveFolder C Users 26748 Desktop two0
  • 手撕机器学习算法--一步步推导-------NFL(没有免费午餐定理)

    文章目录 前言 一 NFL是什么 二 表现形式 三 介绍 四 手动推导 前言 其实机器学习也好 深度学习也罢 在我看来 代码编程终究是不重要的 因为现成的库 其数学原理 其公式推导才是我们需要理解的地方 一 NFL是什么 没有免费的午餐定理
  • BLAS+BLACS+LAPACK+SCALAPACK安装

    最快的安装是用下面的scalapack installer 它将自动联网安装SCALAPACK以及所需要的BLAS BLACS LAPACK 下面是简短说明 INTRODUCTION The ScaLAPACK installer is a