IPhVu::iParallel

Parallel programming on GPU

Thiết lập môi trường phát triển CUDA trên MacOS X

leave a comment »

Trong entry này, tôi sẽ trình bày cách cấu hình và thiết lập môi trường phát triển ứng dụng CUDA trên MacOS X 10.6 (Snow Leopard) và CUDA SDK 2.3.

1. Cài đặt CUDA

Đầu tiên, ta cần cài đặt các thành phần sau:

  • Xcode, mục đích là để Xcode cài thêm trình biên dịch C/C++.
  • CUDA driver.
  • CUDA Toolkit 2.3a for Mac OS
  • CUDA SDK 2.3a or Mac OS
  • CUDA Visual Profiler v1.3 for Mac OS (không bắt buộc)

Sau khi download các file thích hợp, ta cài theo thứ tự driver, Toolkit và SDK. Bạn có thể đọc thêm trong Getting Started Guide của NVIDIA để biết thêm chi tiết. Thao tác cài Toolkit và SDK rất đơn giản, tuy nhiên cần phải thay đổi một số tham số cấu hình để CUDA chạy đúng trên MacOS.

Thay đổi các biến môi trường

Sau khi cài xong,ta cần đặt các biến môi trường PATH và DYLD_LIBRARY_PATH để trình biên dịch CUDA hoạt động được. Trong các bản MacOS từ Leopard trở về sau, một trong những cách để làm điều này là đặt các lệnh sau vào file ~/.bash_profile.

export PATH=/opt/local/bin:/usr/local/cuda/bin:$PATH
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH

Thay đổi các tham số

Các tham số này được đặt trong file /Developer/CUDA/common/common.mk. Ta mở file này (bằng vim hoặc TextEdit) rồi tìm và sửa các tham số sau:

# Compiler-specific flags

NVCCFLAGS := -m32
CXXFLAGS  := -m32 $(CXXWARN_FLAGS)
CFLAGS    := -m32 $(CWARN_FLAGS)

Các dòng này báo cho trình biên dịch CUDA biết là ta đang muốn compile code với thư viện 32 bit.

Thay đổi trình biên dịch C/C++

Mặc dịnh khi cài Xcode, trình biên dịch C/C++ được chọn là gcc 4.2, khi sử dụng các phiên bản mới này, một số file mã nguồn trong CUDA SDK sẽ không biên dịch được, do đó ta cần sửa lại các link về phiên bản 4.0:

cd /usr/bin
sudo rm ./gcc
sudo ln -s ./gcc-4.0 ./gcc
sudo rm ./g++
sudo ln -s ./g++-4.0 ./g++

Cuối cùng ta có thể build các project trong SDK:

cd /Developer/CUDA
make
// hoặc make dbg=1 (debug), make emu=1 (emuRelease), make emu=1 dbg=1 (emuDebug)

Sau khi build xong, bạn có thể vào thư mục /Developer/CUDA/bin/darwin/release và chạy thử các chương trình mẫu trong đó.

Dưới đây là kết quả khi chạy 1 số project mẫu trong SDK.

2. Tạo project CUDA

Trong thư mục cài đặt CUDA SDK (thường là /Developer/CUDA) có sẵn 1 project mẫu mà bạn có thể sử dụng nó để tạo các project mới cho mình. Trong thư mục này có sẵn file mã nguồn *.cu (cùng với code mẫu) và file Makefile định nghĩa các quy tắc biên dịch cần thiết.

Cụ thể bạn có thể tạo project mới cho mình qua một số bước sau:

1. Copy project mẫu

cd <SDK_INSTALL_PATH>/projects        // SDK_INSTALL_PATH là thư mục cài CUDA SDK
cp -r template <myproject>            // myproject: tên project mới

2. Sửa tên các file mã nguồn trong project

mv template.cu myproject.cu
mv template_kernel.cu myproject_kernel.cu
mv template_gold.cpp myproject_gold.cpp

3. Sửa trong file Makefile và mã nguồn

Find & replace “template” thành “myproject”.

4. Build

make

5. Chạy thử

../../bin/darwin/release/myproject

Như vậy bạn hoàn toàn có thể tạo các file mới, viết thêm mã nguồn (bằng Vim, TextEdit… hay là Microsoft Word, Pages…). Tuy nhiên tốt hơn là nên dùng Xcode, hoặc Netbeans hay Eclipse.

Cấu hình Xcode

Phần này sẽ trình bày cách cấu hình cho Xcode để tạo project CUDA mẫu.

<To be continued…>

Advertisement

Written by PHAM Hoai Vu

13/09/2009 at 10:08 PM

Posted in Setup

Tagged with , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.