Java'da popup pencere yapmak


Kendim unutmayım diye yazıyorum.JOptionPane.showMessageDialog(null, "Ben popupım");</code>

NVIDIA Parallel NSight artık bedava


CUDA şöyle iyi böyle iyi diye anlatıyor herkes de kimse paralel yazılım geliştirmenin zorluklarından bahsetmiyor. Bi kere paralel programlama zaten zor bişi de onu kenara koyarsak CUDA ayrı zor. Daha fazla kısıt var. Nvidia olabildiğince yardımcı olmaya çalışsa da daha gitmesi gereken çok yol var. En başta CUDA’da debug yok. Hadi canım diyenleri duyar gibiyim. Printf yok.-tu aslında. Artık yazdılar bi printf de onu kullanabiliyoruz ama o da bildiğimiz printf mantığıyla çalışmıyor ama hiç yoktan iyi.Debug olayına dönersek tek ekran kartıyla debug yapmanız imkansız. Windows ortamı için konuşursak kesinlikle ekran kartı kernellerine giremiyoruz. Oralar bilinmez olarak kalıyor ama Visual Studio’dan hostta çalışan koda breakpoint koymak suretiyle o kısım ile ilgili debug yapılabiliyor. Linux’ta da gdb’ye eklenen cuda-gdb ile kısıtlı bir debug olanağı sağlanıyormuş. Bunu denemeye vaktim olmadı pek. En kısa zamanda deneyeceğim. Mac OS X’i bilmiyorum onlar zengin zaten alsınlar bi ekran kar...

Geek esprisi yapmaca


Böyle bi espri koymazsam ayıp olurdu

Call of Duty Black Ops ses sorunu


Directx’inizi güncelleyin gençler:Download latest Directx

Visual Studio'nun header ve library dosyalarını arama sırası


Canım sıkıldı bişiler yaziyim. Visual Studio’da göreli geniş bir proje yapıyorsanız ve başka başka kütüphanelerden faydalanıyorsanız bunları bir şekilde projeye include etmeniz gerekiyor. Bunları yapmanın birkaç yolu var.Öncelikle şundan bahsedeyim newbieler için bir projede external bir fonksiyonu kullanmak için varsa o fonksiyonu içeren header dosyasını(.h uzantılı) include etmek gerekiyor. Misal #include<stdio.h> böyle bişidir. Bu durumda iş biraz daha kolaydır. Hızlı olur. Diğer durumda fonksiyon library file içinde olabilir ki bunlar da .lib ile biten paketlenmiş kütüphanelerdir. Bunları projeye dahil etmek için şöyle bir yol izlenebilir (Visual Studio 2008 ve SP1 için): Projeye sağ tıklanıp “Properties” e gelinir. Linker -> Input kısmına gelinir. Ordan “Additional Dependencies”e gelinir ve karşısına aralara ‘;’ (noktalı virgül-tırnaklar olmadan-)  koyarak istenen lib dosyalarının isimleri yazılır. Path değil dikkatinizi çekerim ismleri sadece. Mesela şöyl...

İşte bunu istiyorum - NVIDIA GeForce GTX 580


Durdu, baktı ve vurdu. Nvidia son kartıyla olayı bitirmiş.Specler burda:Adamlar 30 milimetrekareye 3 milyar transistör sokabiliyorlar. Sonra Türkiye niye donanım üretemiyor muhabbeti yapılıyor otobüs amcaları arasında.384 bit veriyolu var, GDDR5 bellekleri göz dolduruyor. 512 tane CUDA çekirdeğiyle 480 tane çekirdeğe sahip selefi gtx 480’e göz kırpıyor.Nvidia’nın en şımarık kartı olan GTX 480’den bence en büyük farkı ısınma ve güç olayını çözmüş olması. Malum 480 evde bir elektrik santrali kurmayı gerektiriyordu. Kombiyi kapatıp 480’i ufo niyetine kullanarak ısınabiliyordunuz. Ama 580’de yeni soğutma tekniği falan yapmışlar. Ayrıntısını bilmiyore ama güzel olmuş.Bu olaya da bayıldım. Nasıl yapıldığını yakında yazicim-1080p video on GPU-:

Vista ve Windows 7 için ekran kartı (GPU) gadgeti


Pek güzel pek hoş pek ayrıntılıİndirmek isteyenlere gelsin:Download GPU gadget Denemedim ama ATI kartlara da desteği var sanırım. 6800 serisine kadar şimdilik destekliyormuş.

CUDA ve cuPrintf


cuPrintf  Nvidia’nın Nvidia Developer Account’a sahip insanların kullanımına sunduğu -nerdeyse- printf dengi fonksiyonu. Gerçekten süper bi olay. Kullanımı da oldukça basit. Tek yapılması gereken developer hesabından indirilen cuPrintf… isimli klasörün içindeki cuPrintf.cu ve cuPrintf.cuh dosyalarını projenin klasörünün içine atmak ve kendi projemizdeki kernelin üstüne #include “cuPrintf.cu” eklemek. Ve biter.Nvidia’nın kendi örnek kodu şöyle:#include "cuPrintf.cu"__global__ void testKernel(int val){cuPrintf("Value is: %d\n", val);}int main(){cudaPrintfInit();testKernel<<<2, 3>>>(10);cudaPrintfDisplay(stdout, true);cudaPrintfEnd();return 0;}cudaPrintfInit ve cudaPrintfEnd fonksiyonlarının proje boyunca sadece bir kez çağrılması yeterlidir. Çıktı doğrudan ekrana yazılmaz. Önce bufferda depolanır daha sonra cudaPrintfDisplay fonksiyonuyla ekrana basılır. Buffer size’i cudaPrintfInit(size_t bufferLen) fonksiyonuna opsiyonel olarak geçilen parametre ile değiştirilebili...

Eclipse ve Apache Tomcat kullanarak servlet oluşturmak


Eclipse Helios versiyonuyla bu iş iyice kolaylaşmış ama benim gibi bilmeyince insan zor oluyor tabi. Eclipse JAVA EE Developers versiyonu indirilirEn büyük boyutlu olan zaten:Download Eclipse for Java EE Developers Eclipse açılıp File -> New -> Project -> Dynamic Web Project denir. Adı koyulur projenin, Dynamic Web Module Version 3.0 işaretlidir. O 2.5 yapılır. Çünkü Apache Tomcat 6.0 ile 3.0 uyumlu değil. O şekilde devam edilirse hata verecektir zaten. Apache Tomcat 7.0 uyumlu ama o da Web 3.0 içinmiş bildiğim kadarıyla. Projeyi yarattıktan sonra Run -> Run on server denir. Ordan Apache Tomcat 6.0 seçilir. Path ister. Oraya da bi path yazıp Download and Install'a basılır. Arka planda yükleme yapacak, bitene kadar beklenir. Bitince next aktifleşecek. Artık server hazır. Direk run diyip çalıştırılabilir. Sıra geldi servlet yaratmaya. New -> Servlet dedikten sonra HttpServlet'ten tut da her şey hata verecek. Henüz servle...

C'den Assembly Methodu Çağırma


Bildiğiniz gibi hem C programlama dilinden Assembly methodlarını hem de tam tersi durumu yani Assembly’den C methodlarını çağırabiliriz(Artık bilmiyorsanız da öğrendiniz). Orta düzey bir programlamadan üst düzey programlamaya giriş yapmak isteyen ve bunu daha çok C ve Assembly ile yapmak isteyenlerin en çok aradığı şeylerden biridir bu özellik. Şimdi ikisini de anlatalım. İlk olarak kolay olandan Assembly’den C methodlarını çağırmayla başlayalım. Aslında bunda çok fazla bir sihir yok. Sadece asm uzantılı dosyamızın en üstüne çağırmak istediğimiz methodu yazıyoruz ve gerekli yerde call ile çağırıyoruz.Yukarıda işlerin nasıl olduğu ile ilgili küçük bir ekran görüntüsü koydum. Dikkat ettiğiniz gibi yukarıda anlatılanlara ek olarak çağırdığımız methodun parametreleri de olabilir. Böyle bir durumda ilk olarak en son parametreden başlayarak ilk parametreye kadar(n, n-1,…, 1 sırasıyla) her parametre stack’e atılır ve method çağırılır. İşlem bu kadar.Şimdi gelelim daha ilginç işleme C’den A...


subscribe via RSS