ben bu işi çözücem burdanda paylaşıcam
öncelikle bu işlerin basit olduğunu sanıyorsanız, zaten baştan yanılıyorsunuz.
bir program yazdığımızı düşünelim.(2x8 çarpımı ve bu bir SOL(çözüm) değeri olsun) ve her işlemin(satırın) 1 saniye süreceğini farz edelim. ve bilgisayarın da toplam hızı bu olsun.
---program başlangıcı
x 2 olsun
x ile 2 yi topla
sonuç x olsun
x ile 2 yi topla
sonuc x olsun
x ile 2 yi topla
sonuc x olsun
x ile 2 yi topla
sonuc x olsun
x ile 2 yi topla
sonuc x olsun
x ile 2 yi topla
sonuc x olsun
x ile 2 yi topla
sonuc x olsun
---program bitişi.
gördüğünüz gibi bir program 16 saniyede 1 sol yaptı. (teorik olarak konuşuyoruz)
şimdi bu kartın(işlemcinin gpu nun fark etmez) yapabileceği max şey değildir.
siz 10 tane sanal açsanızda 10 tane program açsanızda bilgisayar 1 saniyede 1 işlem yapacağı için.
160 saniyede 10 sol yaparsınız. (ortalaması yine tek programın çalışması gibi olur)
peki bu nasıl hızlanır ?
---program başlangıcı
x 8 olsun
x ile 8 yi topla
sonuç x olsun
---program bitişi.
bu program 3 saniyede 1 sol yaptı.(diğer programdan 5 katı fazla hızlı)
yani verimlilik tamamen programın yazılışında. ve sha256d-scrypt-ethash-equihash gibi algoritmalar 2x8 den çok ama çok kompleks yapılardır.
önemli olan bir sonucu en hızlı şekilde üretmek.
aynı kodu 10 kere çalıştırmanız daha hızlı iş yapabilecek anlamına gelmiyor. sorununuz burada.
umarım anlatabilmişimdir.
"doğru hızlı ve stabil kod yazabilmek mühendislik seviyesinde bir olaydır. bilgisayar formatlamaya benzemez."