bu donem 2 donemlik tez dersinin ilk kısmısını almaktayım, güzel bir konuya daldım, geleceği olacak diye umuyoruz (ben, abim ve danışmanım olarak) bu yuzden dökümanları latex'te hazırlamamı önerdi danışmanım..
kendisi bizim cs bölümü eski asistanlarından yeni hocalarından hepimizin vst olarak bildiği, vehbi sinan tunalıoğlu.
okuldaki 2 senemde de bazı derslerde raporları latex'le yapmamızı istemişlerdi gözümüz korkmuştı hamallık gibi gelmişti vs ama..
tez dersi ardından, yine bu dönem aldığım software engineering dersi için hazırladığımız srs belgesini latex'te yapmaya karar verince ve latex'in "gücü"nü keşfettikçe bayılmaya başladım bu işte açıkçası..
henüz her şeye hakim olamadım ama belgeye resim gömme, iç bağlantılar atma, içerik yaratma tabo çizme falan derken pek bir hoşlandım bu işten..
demem o ki: eğer uzun süreli bir işe el atıyorsanız ve belgeler önemliyse korkmayın ve latex'e dalın.. daldıkça şunu da yapayım bunu da yapayım diyor insan.. çok hoşuna gidiyor yapabildiklerini görünce.
bu konuda özellikle lshort çok güzel bir kaynak google'da "lshort" diye aratınca gelen ilk pdf linki kendisi zaten. güncel olanını kullanmak makbul tabii..
belgeler için projenin anasayfası http://www.latex-project.org/ her zaman için ilk kaynak ama google'da da spesifik problemlere çok çeşitli ve güzel çözümler bulabiliyorsunuz (google'un sevildiği anlar (= )
peki nerde hazırlanır bu latex belgeler? ben kwrite'ı açıp kafa göz dalıyorum java ve c'de de yaptığım gibi ancak yok kardeşim ben istemem diyen varsa "lyx" diye bir program varmış, denemedim ancak denenebilir gördüm, ilerde bakarsam bu programla da ilgili deneyimlerimi yazarım netekim..
bol latex'li günler [=
"Some say the tragedy of Delirium is her knowledge that,despite being older than suns, older than gods, she is forever the youngest of the Endless, who do not measure time as we measure time, or see the worlds through mortal eyes."
(The Sandman -IV- Season Of Mists by Neil Gaiman)
diller etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
diller etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
14 Mayıs 2007 Pazartesi
22 Haziran 2006 Perşembe
matris carpimi
bir önceki "blog" yazım "c, mpi, uykusuz geceler ve kundante!"de yazdığım üzere matris çarpımı ile karşınızdayım!
inceleyince yazarım demiştim, netekim inceledim ve nette bu konu üzerine adam akıllı bir c kodu olmadığına kanaat getirdim, en azından benim aradığım yerlerde yoktu..
peki neden matris çarpımı? çünküüü hocamız öyle istedi P=
üç ayrı proje verdi bizlere; ilki makinalara veriyi diziyi yatay bölerek, ikincisi dikey bölerek, üçüncüsü ise satranç tahtası gibi karelere bölerek dağıtıyordu.
matrisi carpımını java'dan c'ye çevirmek sorun olmadı da çift boyutlu dizilerin mpi'da node'lar arası aktarımına çok feci takıldık.
yılmadık aramaya inandık, google'in altını üstüne getirdik ve tutoriallar okuyup takıldığımız yerlerde sorup soruşturarak c'ye kendi çapımızda takla attırdık. burda en çok emek, sevgi ve desteği purgatory'den aldık, kendisinin herkese selamı var (=
ilk proje bitip de çarpımı doğru yapınca ağlamak istedim gerçekten.. emeğimizin sonucunu almıştık..
bir ara verip diğer iki projeyi de algoritmalara uygun hazırladık, hazırladık ki ne görelim ilk projede sorunsuz çalışan metodlar ikincisi için hata vermeye başlamıştı. bunun üzerine tekrar hummalı bir çalışmaya girdik ve sorunu her üç proje için de çözdük.
şu an gurur duyduğumuz 100'e 100 bir matrisi bir vektörle 1'i master 5 makina üzerinde paralel çarptıran 3 değişik kodumuz var (=
e şimdi bir sonuca bu konuyu bağlamazsam ayıp olur o zaman ne diyeyim kıssadan hisse
c'den korkmaya gerek yok, mpi'da cici bir şey, insanın yardımsever arkadaşlarının olması çok şahane bir şey..
bu zorlu kod seansında yardım ve bilgisini esirgemeyen purgatory'e, silent strom'a, serdar'a, huzursuz'a ve disq'e çok teşekkür ederiz.
inceleyince yazarım demiştim, netekim inceledim ve nette bu konu üzerine adam akıllı bir c kodu olmadığına kanaat getirdim, en azından benim aradığım yerlerde yoktu..
peki neden matris çarpımı? çünküüü hocamız öyle istedi P=
üç ayrı proje verdi bizlere; ilki makinalara veriyi diziyi yatay bölerek, ikincisi dikey bölerek, üçüncüsü ise satranç tahtası gibi karelere bölerek dağıtıyordu.
matrisi carpımını java'dan c'ye çevirmek sorun olmadı da çift boyutlu dizilerin mpi'da node'lar arası aktarımına çok feci takıldık.
yılmadık aramaya inandık, google'in altını üstüne getirdik ve tutoriallar okuyup takıldığımız yerlerde sorup soruşturarak c'ye kendi çapımızda takla attırdık. burda en çok emek, sevgi ve desteği purgatory'den aldık, kendisinin herkese selamı var (=
ilk proje bitip de çarpımı doğru yapınca ağlamak istedim gerçekten.. emeğimizin sonucunu almıştık..
bir ara verip diğer iki projeyi de algoritmalara uygun hazırladık, hazırladık ki ne görelim ilk projede sorunsuz çalışan metodlar ikincisi için hata vermeye başlamıştı. bunun üzerine tekrar hummalı bir çalışmaya girdik ve sorunu her üç proje için de çözdük.
şu an gurur duyduğumuz 100'e 100 bir matrisi bir vektörle 1'i master 5 makina üzerinde paralel çarptıran 3 değişik kodumuz var (=
e şimdi bir sonuca bu konuyu bağlamazsam ayıp olur o zaman ne diyeyim kıssadan hisse
c'den korkmaya gerek yok, mpi'da cici bir şey, insanın yardımsever arkadaşlarının olması çok şahane bir şey..
bu zorlu kod seansında yardım ve bilgisini esirgemeyen purgatory'e, silent strom'a, serdar'a, huzursuz'a ve disq'e çok teşekkür ederiz.
19 Haziran 2006 Pazartesi
c, mpi, uykusuz geceler ve kundante!
bir okul projesi tesliminin daha sabahı bugün!
açık kaynak ve özgür yazılım günlerinde takip ettiğim kadarıyla ilgimi çekmişti quantum, genetic, parallel computing konuları baktım comp474 diye bir ders var paralel programlama, hemen atladım üzerine.
ders c tabanlı çıktı tabii.. ilk başlarda c falan görmez teori üzerine gider -hyper cube falan- verinin iletilmesi vs gibi problemleri çözüp eğlenirken acı gerçek kendini gösterdi: bunları programlamak, ama c'de!!
fena olmadığını düşündüğüm bir java bilgim var (şimdilik elime gelen projelerin altından kalkabiliyorum en azından) ama c.. tek bildiğim onun java'yla benzerlik gösterdiği ve atası olduğu.. bir de tabii c++, c# var çocukları..
dersi almamda etken arkadaşım hakan'la kafa kafaya verdik yaparız yahu dedik.. netekim ilk projemiz olan matris çarpımı algoritma olarak gayet kolay görünüyordu.
ben de kolları sıvadım gerekli ve doğru olduğunu düşündüğüm mpi komutlarının arasına bir güzel java kodu yazdım -çok parlak bir fikirdi benim için. bunu
her neyse sonuç itibariyle bu algoritma iki boyutlu dizileri gerektirdiğinden -malumunuz benim sıfır, hakan'ınsa kısıtlı c bilgisi yetmedi bu projeyi hayata geçirmeye.
hocamız matris çarpımı üzerine nette c kodu bulabileceğimizi söylemişti. evet var gördüm ama henüz inceleme fırsatım olmadı. inceleyince buraya bir ek yaparım artık..
derken final günü geldi çattı, finalin ikinci kısmı "take home" şeklindeydi ve quicksort ya da mergesort algoritmalarından birini gerçeklememiz gerekiyordu.
son finalimin ardından çarşamba günü sıvadım kolları ve pazar sabahına doğru yoğunlaşan bir şekilde çalıştım. burda çalıştık desem daha doğru olacaktır.
artık bir noktada elimizdeki algoritmalar çalışmayıp, node'lar birbiriyle alışveriş yapmamakta diretince kundante'ye sardık kendimizi.
fairuz derin bulut'un muhteşem şahane şarkısını herkese tavsiye ediyorum özellikle kodculara.. terelelli anında bundan daha iyi tesir edecek bir şey bilmiyorum. mümkünse bir kaç kere dinleyin ve eşlik edin!!
ufak bir kundante seansından sonra gene verdik kendimizi kodlara. kah c allocation sorunları çıkarıyor, kah deadlock'a giriyorduk.
ezanla gelen sabah bize artık teslim saatinin yaklaştığını hatırlattı. her şeyi yapıp da kendi arasında bilgi alışverişi yapamayan node'lu kodumuza raporlarımızı hazırlayıp kendimiz sabah uykusunun boğucu kollarına attık.
bütün bu çalışma ve bu blog'un sonucu:
"c is for cookie that's good enough for me"
açık kaynak ve özgür yazılım günlerinde takip ettiğim kadarıyla ilgimi çekmişti quantum, genetic, parallel computing konuları baktım comp474 diye bir ders var paralel programlama, hemen atladım üzerine.
ders c tabanlı çıktı tabii.. ilk başlarda c falan görmez teori üzerine gider -hyper cube falan- verinin iletilmesi vs gibi problemleri çözüp eğlenirken acı gerçek kendini gösterdi: bunları programlamak, ama c'de!!
fena olmadığını düşündüğüm bir java bilgim var (şimdilik elime gelen projelerin altından kalkabiliyorum en azından) ama c.. tek bildiğim onun java'yla benzerlik gösterdiği ve atası olduğu.. bir de tabii c++, c# var çocukları..
dersi almamda etken arkadaşım hakan'la kafa kafaya verdik yaparız yahu dedik.. netekim ilk projemiz olan matris çarpımı algoritma olarak gayet kolay görünüyordu.
ben de kolları sıvadım gerekli ve doğru olduğunu düşündüğüm mpi komutlarının arasına bir güzel java kodu yazdım -çok parlak bir fikirdi benim için. bunu
her neyse sonuç itibariyle bu algoritma iki boyutlu dizileri gerektirdiğinden -malumunuz benim sıfır, hakan'ınsa kısıtlı c bilgisi yetmedi bu projeyi hayata geçirmeye.
hocamız matris çarpımı üzerine nette c kodu bulabileceğimizi söylemişti. evet var gördüm ama henüz inceleme fırsatım olmadı. inceleyince buraya bir ek yaparım artık..
derken final günü geldi çattı, finalin ikinci kısmı "take home" şeklindeydi ve quicksort ya da mergesort algoritmalarından birini gerçeklememiz gerekiyordu.
son finalimin ardından çarşamba günü sıvadım kolları ve pazar sabahına doğru yoğunlaşan bir şekilde çalıştım. burda çalıştık desem daha doğru olacaktır.
artık bir noktada elimizdeki algoritmalar çalışmayıp, node'lar birbiriyle alışveriş yapmamakta diretince kundante'ye sardık kendimizi.
fairuz derin bulut'un muhteşem şahane şarkısını herkese tavsiye ediyorum özellikle kodculara.. terelelli anında bundan daha iyi tesir edecek bir şey bilmiyorum. mümkünse bir kaç kere dinleyin ve eşlik edin!!
ufak bir kundante seansından sonra gene verdik kendimizi kodlara. kah c allocation sorunları çıkarıyor, kah deadlock'a giriyorduk.
ezanla gelen sabah bize artık teslim saatinin yaklaştığını hatırlattı. her şeyi yapıp da kendi arasında bilgi alışverişi yapamayan node'lu kodumuza raporlarımızı hazırlayıp kendimiz sabah uykusunun boğucu kollarına attık.
bütün bu çalışma ve bu blog'un sonucu:
"c is for cookie that's good enough for me"
Kaydol:
Kayıtlar (Atom)