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安装 的相关文章

  • 将数据写入列中的文件 (Fortran)

    我需要在 Fortran 90 中写入一些数据到文件中 我应该如何使用WRITE input将值分组为columns WRITE总是放一个new line每次通话后 这就是问题所在 代码示例 open unit 4 file generat
  • 使用 Visual Studio 2013 和 Intel Fortran 编译混合 C++/C 代码

    我正在尝试编译一个简单的 C Fortran 混合程序 但存在链接问题 我使用的是Visual Studio 2013 Ultimate和Intel Visual Fortran Compiler XE 14 该程序非常简单 是从网上的某个
  • 编译错误:无法打开模块文件

    我有这个代码 PROGRAM xfit driver for routine fit USE nrtype USE nrutil USE nr USE ran state ONLY ran seed IMPLICIT NONE INTEGE
  • Fortran if stop 需要 endif 吗?

    在 fortran 90 中 if stop 语句是否需要结束 endif example if foo eq 1 stop do some stuff do some stuff 是循环的一部分还是 stop 意味着程序结束时 endif
  • gfortran 未定义的引用

    我正在尝试编译一个依赖很多东西的程序 我使用并修改了提供的 makefile 来代表我的计算机设置 但在编译的最后一步中我不断收到许多未定义的引用 导致问题的命令行是 gfortran o cosmomc ParamNames o Matr
  • 纯 Fortran 过程中的 I/O

    我正在尝试将错误检查合并到我正在编写的纯过程中 我想要这样的东西 pure real function func1 output unit a implicit none integer a output unit if a lt 0 th
  • 最佳 Fortran IDE [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 stackoverflow上有人用Fortran吗 您使用什么 IDE 您认为哪一个是最好的 似乎我周围的很多人都对 Intel Visu
  • 指定 gfortran 应该在其中查找模块的目录

    我目前基于模块来编译程序 例如主程序foo这取决于模块bar 如下 gfortran c bar f90 gfortran o foo exe foo f90 bar o 当foo f90 and bar f90位于同一目录中 如何指定 g
  • 尝试读取名单后返回的状态不是预期的

    我想从文件中读取名单 但在名单不存在的情况下实现捕获选项 从我读到的here http msg ucsf edu local programs IBM Compilers Fortran html pgs lr76 htm我期望状态为 84
  • 有没有一种简单的方法来准备 Fortran 代码以进行并行调用

    我想使用 OpenMP 在 C 程序中并行求解多个大型 ODE 系统 由于某些原因 我需要使用 ODE 求解器 但我只能找到 Fortran 90 子例程 而且代码太大 无法简单地将其转换为 C 我知道 Fortran 广泛使用静态内存 因
  • forrt1:严重(170):程序异常 - 堆栈溢出

    并提前感谢您的帮助 我已经编译了一个程序 不是我编写的 它在 Mac 上运行得很好 但是当我尝试在 Windows 上执行该程序时 在程序开始执行后不久 我收到以下错误消息 forrt1 严重 170 程序异常 堆栈溢出 我不是 ifort
  • 使用 Fortran 进行数组问题的二分查找

    我正在使用 Schaum 的 Fortran 77 编程概要 一书 其中有一个关于使用括号值组方法进行二分搜索的示例 首先这是代码 INTEGER X 100 INTEGER RANGE INTEGER START FINISH PRINT
  • Fortran 内部计时例程,哪个更好? cpu_time 或 system_clock

    当对 FORTRAN 程序进行计时时 我通常只使用命令call cpu time t 然后我偶然发现call system clock count count rate count max 这似乎做了同样的事情 然而 在更加困难的庄园里 我
  • Fortran 意图(inout)与省略意图

    良好的实践表明 Fortran 中的子例程参数每个都应具有指定的意图 即intent in intent out or intent inout 如上所述这个问题 https stackoverflow com questions 1011
  • Fortran90 中 BLAS 函数返回零

    我正在学习在Fortran90中使用BLAS 并使用子例程编写了一个简单的程序SAXPY https software intel com en us mkl developer reference fortran axpy和函数SNRM2
  • 将 FORTRAN 对象传递给 C,反之亦然

    我有我的 Fortran 对象 即 this object a this object b this object c 我想将它传递给用 C 编写的代码 我主要是一名 FORTRAN 程序员 而且我很少接触 C 我正在使用iso c bin
  • 使用 Fortran 90 正确读取输入文件中的注释行

    据我了解 Fortran 在从文件读取数据时 会跳过以星号 开头的行 假设它们是注释 好吧 我似乎在用我创建的一个非常简单的程序实现这种行为时遇到了问题 这是我的简单 Fortran 程序 1 program test 2 3 intege
  • CMake:Fortran 模块和编译顺序

    我有一个大型 Fortran 程序 其中包含许多目录 每个目录都在伪库中单独编译 但仍然存在相互依赖的混乱 因此最终所有伪库都组合在一个可用的库中 我想使用 Fortran 模块 但它非常脆弱 因为我不能依赖自动依赖项检查 并且根据顺序编译
  • Fortran 指针数组

    同样 Fortran 中的指针数组 好吧 我有一个派生类型 type t context pointer type t context pointer p ctx end type t context pointer 当我在主程序中执行以下
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统

随机推荐

  • 将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