2017-02-11 4 views
-2

Ich mache einige Codes für diese Umgebung:Wie übertrage ich meinen Code vom I7-Prozessor zum Xeon-Prozessor (AWS)?

a) mein Laptop mit i7 Prozessor;

b) IDE "Visual Studio"/C/C++

Nun, ich den Code auf AWS mit Xeon E5-2670 auf transfere wollen.

1) Ist es möglich?

2) Muss ich die Konfiguration auf "Visual Studio" ändern oder den Code nehmen und es direkt auf dem Xeon Proc laufen lassen?

3) haben Sie einige Referenzen habe ich

Vielen folgen könnte Ihnen helfen und Empfehlungen Alvaro

+0

Xeon fehlt fehlt und i7 sind alle x86-Prozessoren, so dass sie kompatibel sind; Was wichtig ist, ist mehr Zeug wie Sie eine ausführbare Datei unter Windows erstellen und versuchen, es unter Linux auszuführen. –

+0

@MatteoItalia Der VC++ - Compiler verfügt über Kompilierungsoptionen für SSE usw., so dass sie auch übereinstimmen müssen. Nicht alle von ihr erzeugten Binärdateien können auf allen x86-Prozessoren ausgeführt werden (selbst wenn wir die Bissigkeit überspringen). –

+1

@SamiKuhmonen: Jeder jemals produzierte i7 ist 64 Bit fähig, wie der E5; SSE bis SSE3 ist Standard in den Prozessoren, die in den letzten 10 Jahren gebaut wurden; Sie müssen auf einige ziemlich neue Sachen (wie AVX) aufpassen, um anzufangen, diese Art von Problemen zu sehen. Außerdem ist die Standardkonfiguration von VC++ - Projekten ziemlich konservativ (möglicherweise wird SSE beim Erstellen von 32-Bit nicht einmal standardmäßig aktiviert). Wenn OP also keine zufälligen Einstellungen ändert, die er nicht versteht, sollte er im Klartext sein. –

Antwort

0

Es sollte direkt ausgeführt werden, aber es ist möglicherweise nicht so effizient wie wenn es auf dem AWS-System kompiliert wurde. I.e. Ich habe ein Programm programmiert, das für einen 4-Kern-8-Thread-Computer optimiert ist, aber wenn ich es auf meinem Laptop mit einem 2-Kern-4-Thread-Prozessor lief es fast abgestürzt. Ich kann auch erraten, dass das Programm auf einem 6-Kern 12 Thread-Prozessor nicht laufen würde volle Effizienz erreichen.

Wenn Sie über die Laufzeitumgebung sprechen (ich erinnere mich nur daran), besteht die Möglichkeit, dass Visual Studio nicht standardmäßige Bibliotheken bereitstellt, die Sie herunterladen und/oder kompilieren müssen, bevor Sie das Programm ausführen können. Z.B. Ich habe mein Programm an meinen Freund geschickt, dem eine DLL fehlte, um das Programm auszuführen.

EDIT (Ich bin neu hier, also nicht genug rep zu kommentieren): Normalerweise suche ich nur nach den fehlenden DLLs auf dll-files.com. Ich bin mir nicht sicher über Linux, könnte sein, dass Sie Bibliotheken selbst kompilieren müssen, die ich nicht so vertraut bin.

+0

Haben Sie die fehlende DLL gefunden? ... ich habe jetzt ein gleichwertiges Problem – alvaro562003

0

Es hängt davon ab, wie Sie die Kompilierungsoptionen eingerichtet haben. Wenn Sie keine speziellen Optionen aktiviert haben, die es dem Compiler erlauben, instructinos zu verwenden, die nicht auf dem Zielprozessor vorhanden sind, wird die ausführbare Datei ausgeführt. Sie können Dependency Walker verwenden, um festzustellen, welche DLLs für Ihre ausführbare Datei erforderlich sind.

Die Standardoptionen in VS C++ - Projekten erzeugen ausführbare Dateien, die auf praktisch jedem modernen x86-Prozessor ausgeführt werden können. Bei der Kompilierung spielt die CPU Ihrer Maschine keine Rolle, nur Compileroptionen.

0

Nach dem Versuch, die Ausführungsergebnisse in 2 Fehler: MSVCP144.dll MSVCP100.dll

Verwandte Themen