Bu konudaki kullanıcılar: 1 kayıtlı üye, 1 misafir, 1 mobil kullanıcı
26
Cevap
0
Tıklama
11
Öne Çıkarma
Cevap: Dünyanın en hızlı erişimli cache algoritmasını yapmış olabilirim. (2. sayfa)

O Oğuzhaan
3 gün (1557 mesaj)
Tebrikler



< Bu ileti mobil sürüm kullanılarak atıldı >


Y yesil1026
2 gün (325 mesaj)
Tuğrul hocam, güzel bir çalışma olmuş. Programlama yarışmalarında da LRU Cache kullanılan durumlar oluyor ama approximation'ı daha önce görmemiştim.


Bu mesaja 1 cevap geldi.

Y yesil1026
2 gün (325 mesaj)
Evet, paralel programlamada MIMD diyorlar buna. Multiple Instruction Multiple Data. Diğeri, daha basit olanı SIMD, Single Instruction Multiple Data. Ben de CUDA eğitiminde daha çok SIMD üzerine paralel programlama yapmıştım. Ama yıllar önceydi bu. MIMD ile daha verimli şekilde paralel programlama yapılabilir. Ben de bakayım konu olmuşken.




Bu mesajda bahsedilenler: @ShadowWyvern

T Tugrul_512bit Konu Sahibi
2 gün (6928 mesaj)
Teşekkür ederim. Yarışmalarda genelde belleğe sığan işlemler olduğu için normal geçici dizi kullanmak yetiyor. Ayrıca lru yazma yarışmalarında da lru gerekiyor, approximation işe yaramıyor çünkü performansa göre puan vermiyorlar.

Kullandığım algoritma zsten bilinen bir tanesi, clock second chance diye biliniyor. Normal lruya göre yaklasık 20 30 kat daha çabuk evoction islemi yapıyor. Ben de bunu paralel hale getirip nway set associated yapıp onüne baska cacheler koydum ama thread başına 2 cache olacak şekilde. Sonra bunları ortak cacheye bağladım. Bu şekilde sadece okuma işlemi olarak saniyede 2.4 milyara kadar çıkıyor. Ama yazma işlemi olacaksa sadece tek cache kullanılabiliyor o da saniyede 70 milyon islem yapıyor çoklu izlek ile. Direct mapped cache en hızlısı ama cache miss çok oluyor. Ondan arkasına lru koydum. En arkadaki de coklu izlek icin optimizasyon oluyor.

Bu arada cuda simt degil miydi? Single instruction multiple thread.





< Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 15 Ekim 2021; 17:40:21 >

< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @yesil1026

T Tugrul_512bit Konu Sahibi
2 gün (6928 mesaj)
Evet 11 bağımsız is yapabiliyorlar. Hatta kendi iclerinde bile bağımsızlikları var. Ama cuda/opencl bu birimleri seçmemize izin vermiyor. Sadece 1. thread grubu bunu yapsın, 2. grup bunu yapsın diyebiliriz, onlarin nerede calisacagi sürücülerin ve gpunun işi. Hatta birinci set data uretirken aynı anda ikinci set datayı alabiliyor. Hatta bunu başka kernel fonksiyonuna bile gönderebiliyorlar. Hatta en son sürümlerde cpu ile anlık iletişimde bile olabiliyorlar atom_add gibi fonksiyonları kullanarak.





< Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 15 Ekim 2021; 18:12:23 >

< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @ShadowWyvern

P ProjectMan
dün (11195 mesaj)
geri dönüşünüz için teşekkürler.




_____________________________

Eski kullanıcı adı: SEO19ProjectManager



Bu mesajda bahsedilenler: @EmuDev

T Tugrul_512bit Konu Sahibi
15 sa. önce (6928 mesaj)
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.