Numerik Hesaplamanın Dünü,Bugünü ve Yarını

Bu yazımda sizlere nümerik hesaplananın ne olduğundan ve geçmişten günümüze nümerik hesaplama konusunda sizlere bilgi vermeye çalışacağım.

Nümerik hesaplamalar bilgisayar biliminin her zaman merkezinde olmuştur. Bilgisayarların yapılış nedeni, matematik hesaplamaların daha hızlı bir çözüme isteğidir. Bu istek hala gün geçtikçe artmaktadır. Her geçen gün daha güçlü bilgisayarlar ortaya koyuyor ve daha fazlası için çalışıyoruz.  Bilgisayar tarihi konusunda daha ayrıntılı bilgi almak isterseniz , wikipediada ayrıntılı bir şekilde bulabilirsiniz.

Matematiksel problemleri çözmek için bilgisayar teknolojisine sahip olduğumuzda, bunu bilgisayar dilinde çözmeye yarayacak çeşitli dillere ihtiyaç duyduk. Şu anda da kullanmakta olduğumuz Matlab nümerik hesaplamalarının tarihinde yüksek öneme sahiptir. Fakat Matlab'e başlamadan önce FORTRAN'dan bahsetmeden olmaz. Daha Matlab 1 ve 0 lardan dahi oluşmuyor iken  1950 lerde Fortran , o günün ortamından yüksek nümerik programlama kabiliyeti nedeni ile tercih sebebi idi.  Günümüzde bile hesaplama maliyeti düşük olaması nedeni ile bir çok kişi tarafından yüksek hız gerektiren kodlamalarda hala kullanılmaktadır.

Fortran gibi vb. diller her ne kadar hesaplama yükü bakımından düşük kodlamalara izin verseler de nümerik hesaplamaların daha çok kişi tarafından yapılabilmesi için daha kolay bir dile ihtiyaç var idi. Bu nedenle 1970lerin sonlarında Matlab programlama dili ortaya çıktı. Böylelikle nümerik hesaplamalar bir çok kişi tarafından bilgisayar üzerinde yapılır hele geldi. Cleve Moler, Matlab'i  matematikçilerin ve mühendislerin kullanacağı bir araç olarak düşünmüştü. Bu nedenle ilk Matlabi, temel olarak linear cebir  çözüm kütüphanelerin olan LINPACK ve EISPACK kütüphanelerinin derlenmiş hali olarak düşünebiliriz. Matlab hakkında daha fazla bilgi almak isterseniz bu videoyu izleyebilirsiniz. Günümüzde ise Matlab sunmuş olduğu bir çok kütüphane ile temel matematiksel hesapları bize fonksiyonlar ile sunarak hızlı bir şekilde nümerik hesaplamalar yapmamızı sağlayan bir araç haline gelmiştir.

Plot of CPU transistor counts against dates of introduction - Source : Wikipedia

Numerik hesaplamalardaki temel gelişimlerin bilgisayar teknolojilerini yaygınlaşması ve ilgili yazılımların kullanımının artması ile gerçekleştiğini söyleyebiliriz. Bu da günümüzden yaklaşık 20-30 yıl gerisi göstermektedir. İşlemci hızlarının 1970leriden günümüze katlanarak artması , bellek kapasitelerinin inanılmaz seviyelere gelmesi  nümerik hesaplamalarda daha büyük problemlerin ele alınmasını sağlamıştır.

Günümüz dünyasında geldiğimizde nümerik hesaplamalarda altın çağını yaşadığımızı düşünebiliriz. Her geçen sene bir önceki sene yaptığımız hesaplamanın yarısı sürelerde çözüm alır düzeylere geldik. Özellikle yazılım teknolojilerindeki gelişimler sayesinde , hesaplama yapmak isteyen bir kişi artık bilgisayarını açtığında siyah bir DOS ekranına bakıp çözüm yapmaya çalışmıyor. Gelişmiş arayüze ve kütüphanelere sahip yazılımları kullanarak hızlı bir şekilde çözüm alabiliyoruz. 1990lı yıllarda numerik hesaplama programlarında Matlab tekel konumunda idi. Fakat günümüzde özelliklede  İnternet teknolojisini yaygın bir şekilde kullanılmaya başlanması ile artık Matlabe alternatifler ortaya çıkmaya başladı. Alternatiften kastım sadece lisanslı programlar değil , açık kaynak herkes tarafından ücretsiz olarak kullanılabilen programlardan da bahsediyorum.  Octave, Freemat,Scilab gibi kütüphaneler matlabe alternatif olarak gösterilebilir. Bu  kütüphanelerin özellikle ücretsiz olması her geçen gün kullanımlarını hızlı bir şekilde arttırıyor.

Yazılımlar sayesinde nümerik hesaplamaları bir seviye yukarı taşımız durumdayız . Gelecekte ise, günümüzde de yeni yeni kullanılmaya başlanan bulut teknolojileri ile,  bir seviye daha yukarıya çıkacağa benziyor. Neredeyse tüm yazılım firmalarında bunu fark etmiş durumda ve geleceğe dair yatırımlarını buna göre yapıyorlar. Bulut teknolojisi ile artık masa üstü bilgisayarımız sadece nümerik hesaplama modelini kurduğumuz bir araç olacak, hesaplama yükünü tamını bulut teknolojisi ile yüksek hesaplama gücüne sahip clusterlar üzerinde gerçekleştireceğiz. Yani hazırlayacağınız bir Matlab modelinizi internet üzerinde buluta yollayacak , bulut üzerinde koşturup, sonuçları tekrardan bilgisayarınıza indirip çözümü inceleyebileceksiniz. Böylelikle yüksek hesaplama yükü, bu işe için özel geliştirilmiş bilgisayarlarla hafifletilmiş olacak. Ayrıca numerik hesaplamalar bulut üzerinde yapıldığından dolayı donanım harcamalarımız artık ortadan kalkacaktır.  Örneği Matlab kullanan bir kullanıcı sadece notepad açacağı bir bilgisayar üzerinde rahatlıkla işlem yapabilecektir. Tabi az öncede bahsettiğim gibi bu tip bir işlemi yapabilmeniz için yükse hızlı bir internet bağlantısına sahip olmanız gerekecektir. Bu teknolojini şu anda yaygın bir şekilde de kullanılmamasının temel nedeni de budur. Yüksek hızlı İnternetin yaygınlaşması ile bulut üzerinde numarik hesaplamalar yapmamız çok yakın gibi duruyor.

Son olarak donanım teknolojisinden bahsedebiliriz. Günümüzde artık grafik kartları üzerinde işlem yapmak yaygın bir şekilde kullanılmaya başlandı. Normal bir işlemciye göre kat kat daha hızlı bir hesaplama kabiliyetine sahip olan GPU teknolojisi, numerik hesaplama teknolojinin donanım ayağının bir sonraki adımı olarak görülebilir. Aşağıdaki video ile GPU kullanımının ne kadar hızlı olduğunu görebilirsiniz.

embedded by Embedded Video

ilkay Meşeli Hakkında