SORU
28 AĞUSTOS 2008, PERŞEMBE


Öğrenme Modern Çağda FORTRAN

Son zamanlarda hesaplama-yoğun bilimsel FORTRAN kod büyük miktarda korumak için geldim. Zorluklar bir bütün, diyelim ki, nüanslar, kırk yaşındaki bir dil, google ve iki giriş seviyesi kitaplar rağmen kolu yaşıyorum. Kodu ile hüküm sürüyor "performans arttırıcı iyileştirmeler". Herkes için herhangi bir kılavuz ya da pratik öneriler vardeCS 101-optimize FORTRAN düzeyleri? Herkes nasıl FORTRAN kod optimizasyonu ameliyat hakkında bilgisi olan var mı? Herhangi bir tipik FORTRAN 'frikiklerinden' bu bir Java//C için hiç fark etmeyecektir.NET geliştirici FORTRAN 77/90 bir kod temeli ele geçirilen?

CEVAP
15 EYLÜL 2008, PAZARTESİ


Sen bir "programcılar geri yapmak için gün vardı." ne için fikir almak gerek Birlikte çalıştığım kod büyük çoğunluğu benden daha yaşlı ve "yeni" ailem lisede vardı. bu makinelerde koştu

FORTRAN-izm ile uğraşıyorum, zarar okunabilirliği ortak:

  • Ortak engeller
  • Örtük değişkenler
  • İki ya da üç shared ifadeleri ile DEVAM döngüler YAPMAK
  • GOTO döngü YAPMAK yerine
  • EĞER deyimleri aritmetik
  • Bilgisayarlı GOTO
  • Denklik GERÇEK/bazı ortak blok/diğer TAMSAYI

Bu çözme stratejilerini içerir:

  1. Onları otomatik olarak bir sürü ve hatasız çözer Spag / plusFORT, para değer, (tm)
  2. Mümkün değilse hareket serbest biçim için tüm Fortran 77 ve Fortran 90'da ise gitme
  3. Her yordam için ÖRTÜLÜ YOK ekleyin ve her hata, zaman alıcı ama sonuçta gerekli bazı programlar bunu sizin için otomatik olarak yapabilir (ya da komut) derleme düzeltin
  4. Modülleri için tüm ORTAK blokları hareket, asılı meyve, buna değer düşük
  5. ..'İf' ..BAŞKA engeller ifadeleri İSE aritmetik dönüştürmek
  6. Bilgisayarlı GOTOs CASE blokları SEÇMEK için dönüştürün
  7. Yeni F90 sözdizimi için tüm döngüleri dönüştürmek

    myloop: do ii = 1, nloops
        ! do something
    enddo myloop
    
  8. Eğer Hollerith bir GERÇEK olarak depolanıyor eğer gerçek karakteri rutinler ya da AYRILAMAYAN bir bellek modülü ayrılmış veya equivalenced ortak blok üyeleri dönüştürmek

Eğer bazı okunabilirlik görevleri yerine getirmek için daha özel sorularınız varsa, tavsiyede bulunabilirim. Ben bir kod tabanından birkaç yüz bin satır Fortran hangisi üzerinde yazılı süresi 40 yıl ben bir şekilde sorumlu, bu yüzden muhtemelen rastlamak herhangi bir "sorun" da bulundu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • We've moved!

    We've moved!

    7 Ocak 2008
  • kimberly p

    kimberly p

    23 Ocak 2010
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012