轻松愉快地安装FFTW在Linux系统上 (fftw linux 安装)

FFTW是一款用于实现快速傅立叶变换的开源软件包,它被广泛应用于信号和图像处理,数值分析以及物理学等领域。在Linux系统上安装FFTW可能会让许多人感到困惑,但事实上只需要几个简单步骤即可完成安装。本文将重点介绍在Linux系统上安装FFTW的方法,帮助大家轻松愉快地享受快速傅立叶变换带来的便捷。

之一步:准备工作

在开始安装前,我们需要确认已安装以下工具:

– 编译器:一般情况下,Linux系统都会默认安装gcc编译器,如果没有安装可以使用以下命令进行安装。

“`bash

sudo apt-get update

sudo apt-get install build-essential

“`

– cmake:cmake是常用的编译工具,负责生成Makefile。使用以下命令进行安装。

“`bash

sudo apt-get install cmake

“`

– Git:如果需要从GitHub上下载FFTW,请使用以下命令进行安装。

“`bash

sudo apt-get install git

“`

第二步:下载FFTW

我们可以通过两种方式获取FFTW,一种是从官方网站下载源码包,另一种是从GitHub上下载源码。

1.从官网下载源码包

打开FFTW官网(http://www.fftw.org/),选择适合自己的版本进行下载。我们以FFTW 3.3.9为例,下载完成后进入下载目录,解压文件。

“`bash

tar -xzvf fftw-3.3.9.tar.gz

“`

2.从GitHub上下载源码

使用Git从GitHub上下载源码包,使用以下命令进行下载。

“`bash

git clone https://github.com/FFTW/fftw3.git

“`

第三步:编译FFTW

进入解压缩目录中新建一个build目录,并在其中进行编译操作。

“`bash

mkdir build

cd build

cmake ..

make

sudo make install

“`

执行make install指令需要管理员权限,如果当前用户权限不够,可以使用sudo以管理员身份执行命令。

这里需要注意的是,在运行cmake之前,可以使用以下命令来查看系统是否支持各种选项。

“`bash

cmake -LH

“`

这个命令列出了所有支持的选项以及它们的默认值。如果需要更改默认值,可以在cmake指令中添加参数来更改。

例如,如果需要将FFTW安装到非默认位置,可以执行以下命令。

“`bash

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/fftw3 ..

“`

第四步:测试FFTW

测试安装是否成功,可以使用以下命令来验证。

“`bash

make check

“`

该命令运行了一些测试并输出了结果。如果出现任何错误,需要检查安装是否有误,并重复执行前面的步骤。

第五步:使用FFTW

现在,FFTW已经被成功地安装在Linux系统上。它包含许多库和实用程序,可以通过命令行调用进行使用。

在程序中使用FFTW是很容易的,只需要在代码中包含头文件,链接相应的库文件即可。

“`c

#include

int mn()

{

fftw_complex *in, *out;

fftw_plan p;

int N = 512;

in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);

out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);

p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);

fftw_execute(p); /* repeat as needed */

fftw_destroy_plan(p);

fftw_free(in); fftw_free(out);

return 0;

}

“`

在上述示例代码中,我们使用了三个FFTW库函数:fftw_malloc,fftw_plan_dft_1d和fftw_execute,它们分别用于内存分配、计算和指定的傅里叶变换。

结论:

相关问题拓展阅读:

为什么编译出的 gromacs 多 GPU 加速效果不好

一个可能的原因是 boost 的版本较低。

改进办法是执行如下命令:

# sudo apt-get install libboost-all-dev 

然后按照文章步骤安装就可以了,为了便于阅览,我们把步骤也贴在这里:

机器操作系统为 Ubuntu14.04,安装了 CUDA7.5。

在家目录下建立 gromacs 目录做为工作目录下,搭困拷贝了 4 个

安装包

openmpi-1.6.5.

tar.gz

fftw-3.3.3.tar.gz

cmake-2.8.9.tar

gromacs-5.0.4.tar.gz

1.安装 openmpi

$ cd ~/gromacs

$ tar –xvf openmpi-1.6.5.tar.gz

$ cd openmpi-1.6.5

$ ./configure –prefix=/opt/openmpi

$ sudo make

$ sudo make install

2.安装 fftw 

$ 察枝哗cd ~/gromacs

$ tar –xvf fftw-3.3.3.tar.gz

$ cd fftw-3.3.3

$ ./configure –prefix=/opt/fftw –enable-float –enable-shared

$ sudo make

$ sudo make install

3.安装 cmake

$ cd ~/gromacs

$ tar xvf cmake-2.8.9.tar

$ cd cmake-2.8.9

$ ./bootstrap

$ sudo make

$ sudo make install

4.编译 gromacs GPU 版本

$ cd ~/gromacs

$ mkdir build-gpu

$ cd build-gpu

$ sudo cmake .. -DFFTWF_LIBRARY=/opt/fftw/lib/libfftw3f.so -DFFTWF_INCLUDE_DIR=/opt/fftw/include  -DGMX_MPI=ON –DGMX_GPU=ON -DCMAKE_INSTALL_PREFIX=/opt/gromacs-5.0.4-gpu

$ sudo make

$ sudo make install

步骤 4 编译 gromacs 时,cmake 步骤如果有如下提示信息的话,败行说明 boost 版本低:

配置环境变量:

$ vi ~/.bashrc

增加如下内容:

export PATH=$PATH:/usr/local/cuda/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

export PATH=$PATH:/opt/openmpi/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openmpi/lib

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/fftw/lib

export PATH=$PATH:/opt/gromacs-5.0.4-gpu/bin 

保存退出。 

关掉当前终端窗口,重新开启一个终端窗口。 

下面我们测试一下样例程序在单 GPU 和多 GPU 的数据。

测试服务器配置如下:

CPU:2 颗 E5-2620(6 核心)

内存:64G

GPU:2 片 K80(每片 K80 有 2 核心,所以有 4 个 GPU 设备) 

在家目录下建立目录 test,将 ADH_bench_systems.tar.gz 拷贝到该目录下。

$ cd ~/test

$ tar xvf ADH_bench_systems.tar.gz

$ cd adh_cubic

$ grompp_mpi –f rf_verlet.mdp 

单 GPU 的调用命令是: 

$ mdrun_mpi

$ mpirun –np 1 mdrun_mpi

多 GPU 的调用命令是:

$ mpirun –np 2 mdrun_mpi

$ mpirun –np 3 mdrun_mpi

$ mpirun –np 4 mdrun_mpi

单 GPU 设备执行数据如下图:

2 个 GPU 设备执行数据如下图:

3 个 GPU 设备执行数据如下图:

4 个 GPU 设备执行数据如下图:

fftw linux 安装的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于fftw linux 安装,轻松愉快地安装FFTW在Linux系统上,为什么编译出的 gromacs 多 GPU 加速效果不好的信息别忘了在本站进行查找喔。


数据运维技术 » 轻松愉快地安装FFTW在Linux系统上 (fftw linux 安装)