简单易懂!教你如何在Linux系统中安装FFTW3 (linux安装fftw3)

如何在Linux系统中安装FFTW3

FFTW3是一款高速傅里叶变换库,广泛应用于科学计算和信号处理领域。在Linux系统中安装FFTW3比较简单,只需按照以下步骤操作即可。

1.下载FFTW3

您需要从FFTW3官方网站(http://www.fftw.org/download.html)下载最新版本的FFTW3源代码。请选择适合您系统的版本,例如FFTW-3.3.9.tar.gz。

在终端中输入以下命令:

wget http://www.fftw.org/fftw-3.3.9.tar.gz

2.解压源代码

下载完成后,您需要将FFTW3源代码解压。在终端中输入以下命令:

tar -xzvf fftw-3.3.9.tar.gz

此时,您的工作目录下会出现一个名为fftw-3.3.9的文件夹,里面存放着FFTW3的源代码。

3.编译FFTW3

接下来,您需要编译FFTW3。通过以下命令进入FFTW3源代码目录:

cd fftw-3.3.9

然后在终端中输入以下命令:

./configure && make

这将对FFTW3源代码进行编译。具体地,configure命令将自动检测您的系统配置,并生成Makefile文件,Makefile文件包含了编译FFTW3所需的指令,make命令则将根据Makefile文件开始编译。

您可以加入一些选项来定制FFTW3的编译配置,例如:

./configure –enable-threads –enable-float

以上命令将启用FFTW3的多线程功能,并编译出单精度的库(float)。

4.安装FFTW3

编译完FFTW3后,您需要将其安装到系统中。在终端中输入以下命令:

sudo make install

这将以管理员权限安装FFTW3。您需要输入管理员密码才能继续安装。

安装完成后,FFTW3将被存放在/usr/local/lib和/usr/local/include目录下。

5.测试FFTW3

您可以通过编写一个简单的程序来测试FFTW3。例如,下面是一个计算一维离散傅里叶变换(DFT)的程序:

#include

#include

#define N 16

int mn() {

fftw_complex in[N], out[N];

fftw_plan p;

int i;

for (i = 0; i

in[i][0] = sin(2 * M_PI * i / N);

in[i][1] = 0;

}

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

fftw_execute(p);

for (i = 0; i

printf(“%2d %12g %12g\n”, i, out[i][0], out[i][1]);

}

fftw_destroy_plan(p);

return 0;

}

这个程序生成了一个长度为N=16的正弦波信号,并对其进行DFT。最后输出DFT结果。

您可以使用gcc编译该程序:

gcc -o test test.c -lfftw3

其中,-lfftw3选项表示链接FFTW3库。编译完成后,您可以运行该程序来测试FFTW3的安装情况。

本文介绍了如何在Linux系统中安装FFTW3,并给出了一个简单的测试程序。如果您需要使用FFTW3进行科学计算或信号处理任务,安装FFTW3将是必要的。请注意,如果您使用的是Windows系统,安装FFTW3的过程将有所不同。

相关问题拓展阅读:

为什么fftw安装后没有mpi

首先,你要确认你安装fftw和mpich的路径,然后找到lammps/src/MAKE/Makefile.g++,对它进行编辑修改我的mpi路径是/opt/mpich2,MPI_INC=-DMPICH_SKIP_MPICXX-I/opt/mpich2/includeMPI_PATH=-L/opt/mpich2/libfftw路径是/opt/fftw215,FFT_INC=-DFFT_FFTW-I/opt/fftw215/includeFFT_PATH=-L/opt/fftw215/lib其它的不用改然后打开终春笑行端,在src目录下输入命令:makeg++等待十几分钟最后生成了可执行文件lmp_g++说明安装成功。然后在你的主文件夹下找到.bashrc文件,在最后加入下面的内容LD_LIBRARY_PATH=/opt/mpich2/lib:/opt/fftw215/lib:/home/sky/tools/lammps/src/lib:$LD_LIBRARY_PATH注意按照你自己的安装路径进行扒哗改动。然后用命令source~/.bashrc进行更新。然后lmp_g++就可以用了升则然后。。。然后你该给我分了。

为什么编译出的 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 设备执行数据如下图:

linux安装fftw3的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux安装fftw3,简单易懂!教你如何在Linux系统中安装FFTW3,为什么fftw安装后没有mpi,为什么编译出的 gromacs 多 GPU 加速效果不好的信息别忘了在本站进行查找喔。


数据运维技术 » 简单易懂!教你如何在Linux系统中安装FFTW3 (linux安装fftw3)