Skip navigation

Monthly Archives: Maret 2011


Satu hal yang perlu dilakukan setelah melakukan instalasi CUDA Toolkit dkk di komputer (selain program “Hello World!” tentunya) adalah menampilkan device CUDA yang ada di komputer. Hal ini dapat dilakukan dengan memanggil fungsi cudaGetDeviceProperties. Fungsi ini akan mengisi properti dari device yang diinginkan ke dalam sebuah struktur data cudaDeviceProp. Kode sederhananya saya dapatkan dari link ini.

#include <stdlib.h>
#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime.h>

int main(int argc, char **argv)
{
    int ct, dev;
    cudaError_t code;
    struct cudaDeviceProp prop;

    cudaGetDeviceCount(&ct);
    code = cudaGetLastError();
    if (code)
	printf("%s\n", cudaGetErrorString(code));

    if (ct == 0) {
	printf("Cuda device not found.\n");
	exit(0);
    }
    printf("Found %i Cuda device(s).\n", ct);

    for (dev = 0; dev < ct; ++dev) {
	printf("Cuda device %i\n", dev);

	cudaGetDeviceProperties(&prop, dev);
	printf("\tname : %s\n", prop.name);
	printf("\ttotalGlobablMem: %lu\n",
	       (unsigned long) prop.totalGlobalMem);
	printf("\tsharedMemPerBlock: %i\n", prop.sharedMemPerBlock);
	printf("\tregsPerBlock: %i\n", prop.regsPerBlock);
	printf("\twarpSize: %i\n", prop.warpSize);
	printf("\tmemPitch: %i\n", prop.memPitch);
	printf("\tmaxThreadsPerBlock: %i\n", prop.maxThreadsPerBlock);
	printf("\tmaxThreadsDim: %i, %i, %i\n", prop.maxThreadsDim[0],
	       prop.maxThreadsDim[1], prop.maxThreadsDim[2]);
	printf("\tmaxGridSize: %i, %i, %i\n", prop.maxGridSize[0],
	       prop.maxGridSize[1], prop.maxGridSize[2]);
	printf("\tclockRate: %i\n", prop.clockRate);
	printf("\ttotalConstMem: %i\n", prop.totalConstMem);
	printf("\tmajor: %i\n", prop.major);
	printf("\tminor: %i\n", prop.minor);
	printf("\ttextureAlignment: %i\n", prop.textureAlignment);
	printf("\tdeviceOverlap: %i\n", prop.deviceOverlap);
	printf("\tmultiProcessorCount: %i\n", prop.multiProcessorCount);
    }
}

Tinggal kompilasi kode ini dengan nvcc

$nvcc -o deviceprop deviceprop.c
$./deviceprop

Hasil keluarannya untuk komputer pribadi saya

Found 1 Cuda device(s).
Cuda device 0
	name : GeForce GTS 250
	totalGlobablMem: 1073020928
	sharedMemPerBlock: 16384
	regsPerBlock: 8192
	warpSize: 32
	memPitch: 2147483647
	maxThreadsPerBlock: 512
	maxThreadsDim: 512, 512, 64
	maxGridSize: 65535, 65535, 1
	clockRate: 1912000
	totalConstMem: 65536
	major: 1
	minor: 1
	textureAlignment: 256
	deviceOverlap: 1
	multiProcessorCount: 16
Iklan

Beberapa hari yang lalu saya menginstall tools nVidia CUDA di komputer saya yang Ubuntu 10.10. Ternyata cara instalasinya sangat mudah. Ada di sini. Untuk yang di link itu CUDA yang diinstal adalah versi 3.2 untuk Ubuntu 10.4 64 bit, sedangkan saya menginstall CUDA versi terbaru 4.0.11 RC di Ubuntu 10.10.
Instalasinya mulus, tetapi masalah yang terjadi adalah tiba-tiba GUInya stuck di resolusi 640×480. Di setting Ubuntu dan nVidia Control Panelnya pun tidak bisa dinaikkan resolusinya. Ini bisa diperbaiki dengan mengedit konfigurasi X Window di /etc/X11/xorg.conf.


Di antara banyak kelebihan Yii, salah satu yang sangat menyenangkan adalah Yii dapat memiliki struktur model/view/controller yang seolah-olah terpisah. Struktur ini disebut Module. Dengan adanya struktur ini, aplikasi Yii dapat dibagi-bagi ke dalam sub-sub aplikasi yang nantinya memudahkan untuk pengembangan atau perawatan.

Contoh penggunaan modul ini adalah untuk memisahkan bagian administrasi aplikasi menjadi sebuah struktur tersendiri. Dengan demikian, sebagai contoh, halaman login untuk admin dengan pengguna biasa dapat lebih sederhana dibandingkan yang saya lakukan di tulisan sebelum ini.

Read More »

%d blogger menyukai ini: