Login
Newsletter
Werbung

Thema: 91% der Top 500 Supercomputer laufen unter Linux

4 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Klaus am Di, 1. Juni 2010 um 17:54 #

Fortran 95 und vorallem Fortran 2003 sind sehr moderne Sprachen in dem viele Dinge vordefiniert sind.

Beispiele:

eine Matrix A, beliebiger Größe nullen: A = 0
in C müßte man mit 3 Schleifen arbeiten

Matrizenmultiplikation: MATMUL(A,B)
Matrix A mit Zeilenrang m, Matrix B mit Spaltenrang n
in C sind wieder 3 Schleifen notwendig

Man darf sich nicht mehr vom alten F77-Stil abschrecken lassen, das ist schon lang vorbei. ;-)
Der wird nur noch aus Kompatibilitätsgründen mitgeschleift, die Programmierer sind angehalten F77 mindestens in F95 umzuschreiben. Tools die dies unterstützen gibt es auch.

[
| Versenden | Drucken ]
  • 0
    Von hansemann am Di, 1. Juni 2010 um 21:38 #

    in C liesse sich der Speicherbereich von beliebig dimensionalen double-Feldern
    leicht mit:

    double a[x][y][z];
    memset(&a, 0, sizeof(double) * x * y * z);

    ohne 3 Schleifen auf null setzen ;-)

    Freilich ist das nur ein 'Hack' ... allerdings sollte man Fortran95 bzw. Fortran2003
    sinnvollerweise mit 'Gleichaltrigen' vergleichen ... z.B. C++, Objective C, D, (Compilierbares) Python (-> schaut Euch mal SAGE an), (High Performance) Java und wenn es was von Microsoft sein muss, dann halt Dot-Net 4.0+

    C ist gerade mal ein paar Jahre juenger als Fotran66 ... und fuer eine System-nahe Programmiersprache haben die Sprach-Designer von C die objektorientierte
    Array-Verarbeitung wohl zu recht als erlaesslich erachtet ;-))

    [
    | Versenden | Drucken ]
    • 0
      Von Klaus am Di, 1. Juni 2010 um 22:54 #

      Ich habe C nicht die Daseinsberechtigung abgesprochen!

      Mit Fortran macht man mathematische Berechnungen, es gibt nur in Fortran 2003 die intrinsischen IEEE-Module. Sowas fehlt in allen anderen Hochsprachen. Sowas musste man einbauen weil die Hardwarehersteller zu blöd sind mal auf ein paar numerische Mathematiker zu hören.

      BTW, wikibooks hilft ;-)

      In Fortran stecken 30 Jahre Erfahrung, das gibt man nicht auf!

      Was High Performance Java betrifft, es gibt schöne Ideen auf math.nist.gov, es schlägt nur nicht in Standard-Java ein, also macht man Fortran.

      [
      | Versenden | Drucken ]
    0
    Von hansemann am Di, 1. Juni 2010 um 21:38 #

    in C liesse sich der Speicherbereich von beliebig dimensionalen double-Feldern
    leicht mit:

    double a[x][y][z];
    memset(&a, 0, sizeof(double) * x * y * z);

    ohne 3 Schleifen auf null setzen ;-)

    Freilich ist das nur ein 'Hack' ... allerdings sollte man Fortran95 bzw. Fortran2003
    sinnvollerweise mit 'Gleichaltrigen' vergleichen ... z.B. C++, Objective C, D, (Compilierbares) Python (-> schaut Euch mal SAGE an), (High Performance) Java und wenn es was von Microsoft sein muss, dann halt Dot-Net 4.0+

    C ist gerade mal ein paar Jahre juenger als Fotran66 ... und fuer eine System-nahe Programmiersprache haben die Sprach-Designer von C die objektorientierte
    Array-Verarbeitung wohl zu recht als erlaesslich erachtet ;-))

    [
    | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung