DMUG-Archiv 2023

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: [Dmug] CreateExecutable

Hallo zusammen,

eine sportliche  Vorstellung, C++ Code direkt zu erzeugen (man kann es mit Stephen auch "extreme professoring" nennen 😬); es reicht schon, die WolframEngine 13.3.0 zu starten und keine Bilder zu sehen, sondern ASCII art. Manchmal weiss man nicht, was sich die Kollegen gedacht haben. Die WolframEngine soll das Vehicle sein, das die Wolfram Technologie auch an den allerletzten Arbeitsplatz bringt. Sie rechnet hervorragend und ist ein command line tool.

Manchmal kann man aber auch lesen, was sich die Kollegen gedacht haben:

https://writings.stephenwolfram.com/2023/06/llm-tech-and-a-lot-more-version-13-3-of-wolfram-language-and-mathematica/

dort unter "Streamlining Parallel Computation" ...

<Zitat>

Ever since the mid-1990s there’s been the capability to do parallel computation in the Wolfram Language. And certainly for me it’s been critical in a whole range of research projects I’ve done. I currently have 156 cores routinely available in my “home” setup, distributed across 6 machines. It’s sometimes challenging from a system administration point of view to keep all those machines and their networking running as one wants. And one of the things we’ve been doing in recent versions—and now completed in Version 13.3—is to make it easier from within the Wolfram Language to see and manage what’s going on.


</Zitat>

Dinge werden schneller, wenn man 156 Kerne routinemässig zur Verfügung hat. Es geht dort weiter mit KernerConfiguration (see R. E. Ference) und Kerner Settings GUI.

Aber Spass beiseite, hier ist Visual Studio 2022 ebenfalls installiert, ich schaue dann noch nach einer Lösung.

Grüsse

Udo.


Am 12.07.2023 um 22:14 schrieb Peter Klamser via demug:
Hallo Axel,
Dein Hilferuf ist mir im Mailreader wieder über den Weg gelaufen und da ich
noch keinen Antwort von einem anderen teilnehmer gelesen habe, will ich
wenigstens etwas Senf über dein Problem verteilen.
Es gibt z.B. das Buch von Jens Peer Kuska (weilt leider nicht mehr unter
uns, er wusste fast alles und konnte fast alles, aber er kennt nun das
letzte Geheimnis: Gibt es einen Gott!!!), "Mathematica und C", wo er die
Integration sehr schön beschreibt.
Allerdings ist das für eine sehr frühe Version von Mathematica (3.0!!!)
<ISBN 3540614893> geschrieben worden. Sieh bitte in der nächsten UB nach.
Das frühere Problem, dass Mathematica oft schnarchlangsam ist, gilt
insofern nicht mehr, da es heute nur noch langsam ist.
Der Chef, Stephen Wolfram erwähnt auf seinem YouTube Kanal es öfters, dass
das GROßE Ziel von ihm ist, dass MMA gleich C++++ Code erzeugt.
Soviel ich weiß stehen dem aber noch viele Hürden im Weg, vielleicht kann
da in Zukunft mal KI helfen, da gibt es ja die erstaunlichsten Ergebnisse,
z.B.:
https://www.youtube.com/watch?v=fDAPJ7rvcUw
<https://www.youtube.com/watch?v=fDAPJ7rvcUwhttps://www.youtube.com/watch?v=fDAPJ7rvcUw>
Außerdem ist Mathematica heute nicht mehr schnarchlangsam sondern nur noch
langsam, die Fortschritte seit Version 7 sind doch erheblich.
Also ich weiß nicht, ob es viel bringt, vielleicht ist es besser nach einem
gewissen Stadium eines Projekts die Sprache zu wechseln (vielleicht in
einen Lisp Dialekt, denn MMA ist ebenso ein solcher und es gigt dann also
gemeinsame Konzepte oder Phy -macht mein Sohn, Mathematica hat ihn nicht
überzeugt, oder Zack??).
Es gibt aber auch Compile[]
[image: image.png]
und
[image: image.png]
Ferner gibt es die Möglichkeit der Parallel Befehle wie ParallelTable[]
und gleich eine zweite Frage dazu:
[image: image.png]
Tuuuut mir leid, dass ich nicht konkreter helfen kann.
Viel Erfolg wünscht Peter

Am Mi., 12. Juli 2023 um 00:55 Uhr schrieb Axel Bauer via demug <
demug@XXXXXXX.ch>:

Hallo,

zunächst vielen Dank für die Aufnahme in die Liste!

Ich habe folgende Problemstellung:

unter


https://www.wolfram.com/mathematica/new-in-8/integrated-c-workflow/create-standalone-executables-using-compiled-funct.html

findet sich ein interessantes Beipiel für die Ausführung der
Mathematica-Funktion "CreateExecutable", in meinem Fall wird damit eine
Anbindung an das installierte und auch funktionierende Visual Studio
2022 angezielt, um eine exe-Datei zu erstellen.

Leider funktioniert das bei mir aber nicht. Hier ein Auszug aus der
Internetseite:

(* Create Standalone Executables Using Compiled Functions
You can generate and distribute standalone executables. *)

lopass = Compile[{{x, _Real, 1}, dt, RC},
     Module[{a = dt/(RC + dt), yprev = First[x], yi},
      Table[yi = x[[i]] + (1 - a)*yprev;
       yprev = yi;
       yi, {i, 1, Length[x]}]]];


(* Generate C code and a header *)

targetDir = CreateDirectory[]

fnSource = FileNameJoin[{targetDir, "lopass.c"}];

Export[fnSource, lopass];


         (* Write a C main function to call the generated code. *)

lopassmainSrcFile = FileNameJoin[{targetDir, "lopassMain.c"}];
Export[lopassmainSrcFile, lopassmainSrc, "Text"]


         (* Compile it into an executable using the Wolfram Runtime
         Library. *)

Needs["CCompilerDriver`"];

lopassExe =

   CreateExecutable[{fnSource, lopassmainSrcFile}, "lowpass",

    "TargetDirectory" -> targetDir,

    "Libraries" -> "WolframRTL_Static_Minimal"]


$Failed


An dieser Stelle geht es bei mir also nicht mehr weiter.

"fatal error C1004: Unerwartetes Dateiende gefunden" wird in folgender
Internetseite kommentiert:


https://learn.microsoft.com/de-de/cpp/error-messages/compiler-errors-1/fatal-error-c1004?view=msvc-170

Doch da ich das obige Beispiel aus einer Internetseite übernommen habe,
die sicherlich eine korrekte Wiedergabe ist, sehe ich keine anwendbare
Hilfe in dieser learn.microsoft-Seite. Insgesamt kann ich mir keinen
Reim darauf machen, wo der Fehler liegen soll.

Übrigens habe ich das obige lopass versuchsweise reduziert auf das
einfache lopass = Compile[{{x, _Real,1}}, x];

Doch auch das führt zur gleichen Fehlermeldung.

Ich würde mich über jede Hilfestellung freuen, damit ich anhand des
obigen Beispiels mittels Mathematica eigene exe-Dateien dieses Typs
erstellen kann.


--
Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft.
www.avast.com
_______________________________________________
DMUG Deutschsprachiges Mathematica-Forumdemug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv:http://www.mathematica.ch/archiv.html


_______________________________________________
DMUG Deutschsprachiges Mathematica-Forumdemug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv:http://www.mathematica.ch/archiv.html
_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html

Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html