![]()
先,先下载一下启动项目。把它放在合适的地方然后用XCode打开看一下它的构成。
项目包括4个主文件,如下所示:
Classes包括一些主文件,比如主视图的控制器,场景以及绳子对象的类。你将会在阅读教程的过程中在里面加入这些类。
Helpers包括一些储存游戏数据的文件,它的数据将贯穿这个游戏程序。
Resources/Sounds包含了项目的声音文件。
Resources/Other包含了一些用于在场景中加入粒子的文件。
Other Resources包含了从第三方得到的所有资源。这篇教程将会使用一个iOS Game by Tutorials制作的插件,叫SKUtils。
Imagesxcassets包含了资源。
另外,我已经加入了所有必要的#import语句到启动项目。这些#import语句都被包含在 CutTheVerlet-Prefixpch中。
注释:Apch就是预先编译好的头文件。预编译头文件是用来加快文件编译速度的文件。他们使在你的项目中被使用的那些文件不需要被导入。只要记住预编译头文件能隐藏在类中使用到的附属物。
关掉Resources 和 Other Resources ,你不需要在这些地方进行修改的。你会在Classes和Helpers中直接使用到这些文件。
一个可能的原因是 boost 的版本较低。
改进办法是执行如下命令:
# sudo apt-get install libboost-all-dev
然后按照文章步骤安装就可以了,为了便于阅览,我们把步骤也贴在这里:
机器 *** 作系统为 Ubuntu1404,安装了 CUDA75。
在家目录下建立 gromacs 目录做为工作目录下,拷贝了 4 个安装包:
openmpi-165targz
fftw-333targz
cmake-289tar
gromacs-504targz
1安装 openmpi
$ cd ~/gromacs
$ tar –xvf openmpi-165targz
$ cd openmpi-165
$ /configure --prefix=/opt/openmpi
$ sudo make
$ sudo make install
2安装 fftw
$ cd ~/gromacs
$ tar –xvf fftw-333targz
$ cd fftw-333
$ /configure --prefix=/opt/fftw –enable-float –enable-shared
$ sudo make
$ sudo make install
3安装 cmake
$ cd ~/gromacs
$ tar xvf cmake-289tar
$ cd cmake-289
$ /bootstrap
$ sudo make
$ sudo make install
4编译 gromacs GPU 版本
$ cd ~/gromacs
$ mkdir build-gpu
$ cd build-gpu
$ sudo cmake -DFFTWF_LIBRARY=/opt/fftw/lib/libfftw3fso -DFFTWF_INCLUDE_DIR=/opt/fftw/include -DGMX_MPI=ON –DGMX_GPU=ON -DCMAKE_INSTALL_PREFIX=/opt/gromacs-504-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-504-gpu/bin
保存退出。
关掉当前终端窗口,重新开启一个终端窗口。
下面我们测试一下样例程序在单 GPU 和多 GPU 的数据。
测试服务器配置如下:
CPU:2 颗 E5-2620(6 核心)
内存:64G
GPU:2 片 K80(每片 K80 有 2 核心,所以有 4 个 GPU 设备)
在家目录下建立目录 test,将 ADH_bench_systemstargz 拷贝到该目录下。
$ cd ~/test
$ tar xvf ADH_bench_systemstargz
$ cd adh_cubic
$ grompp_mpi –f rf_verletmdp
单 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 设备执行数据如下图:
呵呵,看来我们有研究相同的问题吧
matlab是一种科学的计算语言,采用的是解释执行的方式,在配置比较水的机器(比如说我的),运行起来速度不敢恭维,但是他适合工程师用,快速建立起自己的运算平台,很多语法是类似c语言。你可以考察一下matlab的安装目录下extern下面lib库中的函数,可以发现,有很多的c语言代码,实际上,其内核有很多c的成分。
所以你应该可以明白了,可以运行,但是要把matlab的库函数包含在c编译库中。
你完全可以在extern中的example中,在matlab环境下面运行几个c代码试一试,当然所采用的指令是mex(把c语言用于matlab中),mcc把matalb代码转化为c代码,一些具体的参数,你可以用matlab强大的help工具获得。我们还可以一起探讨一下啊,给各邮箱之类的吧,呵呵,很乐意的
以上就是关于如何使用Sprite Kit制作像切绳子这样的游戏全部的内容,包括:如何使用Sprite Kit制作像切绳子这样的游戏、为什么编译出的 gromacs 多 GPU 加速效果不好、帮我把这个用C写的程序改成matlab语言编写的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)