Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

R - Parallel Computing


Öne çıkan mesajlar

Mesaj tarihi:
Bir parametreye ait 200 farklı değer için bir regresyon modeline Bootstrap'le kovaryans matrisi hesaplatıp sonra trace'lerini alarak uygun değeri seçen bir loop yazdım da, verisetim bayağı büyük olduğundan 12 saatten fazla sürüyor bootstrap sayısını 100 yapsam dahi.

R'de multicore desteği yok native olarak, bazı package'lar var ama her fonksiyonla çalışmıyorlar + ben parallel computing'den anlamıyorum. Yapabildiğim tek şey 4 ayrı instance açıp değerleri 4'e bölüp köylü işi parallel computing yapmak oldu. Bu yöntem işimi bayağı hızlandırdı (5 saat falan sürüyor böyle) ama ben sürekli yeni yaklaşımlar deniyorum, o yüzden 5 saat inanılmaz uzun bir süre benim için. Yararlanabileceğimi ümit ettiğim iki tane intensive computing lab.ı var ama tek core kullandığım sürece bir anlamı yok benim için o lab.ların.

Bana akıl verecek, koduma omuz atacak birileri çıkarsa çok sevineceğim. (Başka dilde yaz falan demeyin çünkü kullandığım kütüphanelerin hepsi R'da)
Mesaj tarihi:
Python'da yaz. R dediğin matlab gibi eşek ölüsü bir şey büyüklü datalar kullandığında. Eminim python'da aradığın libraryler çoktan yazılmıştır.

Edit: Verdiğin keywordlerle google'da bi arama yaptım, python için ilk sonuç https://stackoverflow.com/questions/16707141/python-estimating-regression-parameter-confidence-intervals-with-scikits-boots
Mesaj tarihi:
Phoenixlin'a katılıyorum ama, eğer işin başındaysan ve veriseti büyükse (benim şu an uğraştığım 2tb kadar) R ile verimli olmuyor.

ben de python'da pandas ile single processing gidiyorum da, yakınlarda multiprocess'e çevirmem gerekicek, nası yapıcam bak benim de hemen hiç fikrim yok :)

R multiprocessing konusunda yardımcı olamıyacam ama, hiç uğraşmadım.
Mesaj tarihi:
senko said:

ben de python'da pandas ile single processing gidiyorum da, yakınlarda multiprocess'e çevirmem gerekicek, nası yapıcam bak benim de hemen hiç fikrim yok :)


Been there, done that:

https://www.ploggingdev.com/2017/01/multiprocessing-and-multithreading-in-python-3/

Çok atla deve değil. Hatta bi ara buna alıştığım için Java'da multithread kod yazamıyodum asdf
Mesaj tarihi:
Lancelion said:

R ile mpi'yi kullanmayi deneyebilirsin, muhtemelen olur ?

https://bioinfomagician.wordpress.com/2013/11/25/mpi-tutorial-for-r-rmpi/

gece biraz daha bakarim eger bu tutmazsa.


Buna bakmıştım da kafam almadıydı. Mümkün mertebe tidyverse'in dışında bir örnekle anlatan bir örnek varsa süper olur.

@Phoenixlin, abi bizim alandaki elemanlar hep R'da çalışıyorlar. Yeni yeni python'a geçenler var ama bizim alanın teoricileri hala R kullanıyor ve muhtemelen daha yıllarca kullanmaya devam edecekler :<

Özetle şu an tek çarem R'da halletmek şu işi.
Mesaj tarihi:
O zaman ilkokul yıllarından bir esinti yapayım: "Alanındakiler köprüden atlasa sende mi atlıcan?"

R'ı hobi olarak gene kullanırsın bir sıkıntı yok da Python'ı bir kere öğrendin mi R'da yapabileceğin her şeyi ve daha fazlasını yapabileceğini göreceksin. R günün sonunda

Python'da çok korkma yani inanılmaz kolay bir dil. Google'da ingilizce keyword yazıp, arama yapabilen herkes 1 haftada her türlü işini yapabilir konuma gelir.

Hatta Quora'dan da destekleyim (doğrusu tüm cevapları atmışım da boş vaktin olursa herkesin bakış açısını okumak mantıklı tabi):

https://www.quora.com/Which-is-better-for-data-analysis-R-or-Python-Is-R-still-a-better-data-analysis-language-than-Python-Has-anyone-else-used-Python-with-Pandas-to-a-large-extent-in-data-analysis-projects

Edit: Bu arada çok python goygoyu yapıp sorununa yardım etmeyince rahatsız oldum. Belki R için şunlar işine yarar:

https://www.cs.toronto.edu/~radford/ftp/pqR-guelph.pdf

https://stackoverflow.com/questions/17196261/understanding-the-differences-between-mclapply-and-parlapply-in-r
Mesaj tarihi:
https://www.r-bloggers.com/accelerating-r-with-multi-node-parallelism-rmpi-batchjobs-and-openlava/

bu article'a da bakabilirsin daha ornekli anlatmis -windows'da calisir mi hic bilmiyorum, en azindan bir linux virtual machine'da yapsan cok daha iyi..-
Mesaj tarihi:
Phoenixlin said:

senko said:

ben de python'da pandas ile single processing gidiyorum da, yakınlarda multiprocess'e çevirmem gerekicek, nası yapıcam bak benim de hemen hiç fikrim yok :)


Been there, done that:

https://www.ploggingdev.com/2017/01/multiprocessing-and-multithreading-in-python-3/

Çok atla deve değil. Hatta bi ara buna alıştığım için Java'da multithread kod yazamıyodum asdf


Kaçırdığım bir nokta ta olabilir de, baktığım kadarı ile sadece I/O parallelization sağlıyor bu.
Benim işler biraz daha cpu bound sanki, (high frequency stock exchange datası)
Mesaj tarihi:
senko said:

Phoenixlin said:

senko said:

ben de python'da pandas ile single processing gidiyorum da, yakınlarda multiprocess'e çevirmem gerekicek, nası yapıcam bak benim de hemen hiç fikrim yok :)


Been there, done that:

https://www.ploggingdev.com/2017/01/multiprocessing-and-multithreading-in-python-3/

Çok atla deve değil. Hatta bi ara buna alıştığım için Java'da multithread kod yazamıyodum asdf


Kaçırdığım bir nokta ta olabilir de, baktığım kadarı ile sadece I/O parallelization sağlıyor bu.
Benim işler biraz daha cpu bound sanki, (high frequency stock exchange datası)


bak bunun için yeni bi library çıktı pandas API'ıyla tamamen compatible olan;
https://rise.cs.berkeley.edu/blog/pandas-on-ray/

import'u pandas yerine ray diye değiştiriyorsun o kadar.
  • 8 ay sonra ...
Mesaj tarihi:
Geçen hafta pazartesi günü doktora tezini savundum. Bugün evrakları falan tamamlarken, şu işin foreach + doParallel'le mümkün olan çok basit bir çözümü aklıma geldi durduk yere. Koştur koştur ofise geldim, kodu güncellemem 15dk sürmedi. İlk compile ettiğimde bug'sız falan şak diye çalıştı. Bir de hali hazırda tek loop dahi uzun sürdüğü için inanılmaz verimli. Direk 4 kat hızlandı analiz süresi.

Elle 4 ayrı R instance'ı çalıştırıp amele gibi uğraştıydım şu işle. Neyse Ryzen 7'yi de çektim. Şimdi R düşünsün.
Mesaj tarihi:
Bu arada tez için 4-5 tane test yazdıydım R üzerinde. Tezden makale çıkartınca kodları da paylaşayım, yavaş yavaş bir portföy oluşturayım diyorum. Github'a falan mı yüklemek gerek? Runmycode falan da var ama hangisi iyidir?

Bir de mesela başka bir elemanın yazdığı ve kendi sitesinde public olarak mevcut bir fonksiyonu da (adamın geliştirdiği estimator) kullanıyor yazdığım 2 tane test, atıf yaparak kendi yüklediğim kodun içerisinde onları kullanmamda bir sakınca var mı? Bu işlerin telifi falan nasıl oluyor? Her şey nonprofit bu arada, akademik çalışma benimki de, öteki de.
Mesaj tarihi:
Github'a at, en ulaşılabilir yer orası olur.

Readme'de de kimin kodunu kullanıyosan, cite olarak adamın kodunu aldığın sayfanın linkini verirsin olur biter. Commercial amaçla kullanmıyorsun sonuçta, lisans goygoyuna kimse takılmaz.
Mesaj tarihi:
deadwoll said:

Bu arada tez için 4-5 tane test yazdıydım R üzerinde. Tezden makale çıkartınca kodları da paylaşayım, yavaş yavaş bir portföy oluşturayım diyorum. Github'a falan mı yüklemek gerek? Runmycode falan da var ama hangisi iyidir?

Bir de mesela başka bir elemanın yazdığı ve kendi sitesinde public olarak mevcut bir fonksiyonu da (adamın geliştirdiği estimator) kullanıyor yazdığım 2 tane test, atıf yaparak kendi yüklediğim kodun içerisinde onları kullanmamda bir sakınca var mı? Bu işlerin telifi falan nasıl oluyor? Her şey nonprofit bu arada, akademik çalışma benimki de, öteki de.


adamlarin kodu publish ederken koydugu lisansa bagli, tezin bir yerinde yoksa repo'da, kodda belirtmislerdir lisansi. en kotu sorabilirsin, en azindan senden cikmis olur sorumluluk.
  • 4 ay sonra ...
Mesaj tarihi:

Başka konu açmıyım dedim.

Ben bu multi-core olayına bayağı kafayı taktım da, iteratif tahmincileri multi-core olarak kullanmak mümkün mü? Ayrık işlemleri yaptırıyorum artık performanslı olarak ama iteratif yöntemlerle çözülen problemleri (maximum likelihood tahmincileriyle mesela) nasıl ele alabilirim?

 

×
×
  • Yeni Oluştur...