Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

Re: Jammer-Thread

Beitrag von BeRsErKeR »

Krishty hat geschrieben:
BeRsErKeR hat geschrieben:
Krishty hat geschrieben:
BeRsErKeR hat geschrieben:hab mich da teilweise an D orientiert, genau wie bei der Syntax von Arrays
Array-Syntax ist ein interessantes Thema … ich hasse C(++)-Arrays. Im Augenblick löse ich in meinen C++-Projekten alles über range-Strukturen, die auf Anfang und Ende von Feldern zeigen, und das fließt wie Butter – abgesehen von dem winzigen Detail, dass der Compiler es nicht ausreichend optimiert, weil es keine Wurzel in der Sprache selber hat; und dass mir bei String-Literalen immer die automatisch angehängte Null zum Verhängnis wird (for teh luv of gawd, WHY!). Ich muss mir auch unbedingt nochmal Gos Slices ansehen, falls ich irgendwann mal Zeit habe. Und dann wären da noch Strings, die ja auch ein Thema für sich sind (Rein in die Sprache oder nicht? Nur Literale? Nullterminiert oder nicht? …).
Klingt interessant. Kannst du mir da mal ein Beispiel zeigen? Zwecks range-Strukturen.
Sie arbeiten ziemlich genau wie .begin() und .end() in STL-Containern; mit Zeigern als Iteratoren. Eigentlich kannst du jedes Array im Programm durch einen STL-Container ersetzen und hast ziemlich genau diese Syntax, nur eine Million mal langsamer als wenn es direkt in der Sprache verankert wäre.(Nachtrag: Nein, idiotisch. Eine Range referenziert vorhandenen Speicher, während ein STL-Container ihn kopiert.)

Dann gibt es noch so Kunststückchen wie, dass man eine Range an beliebiger Stelle in zwei Teile zerlegen kann. Ein Parser würde z.B. die Range des verbliebenen Textes so lange hinter dem ersten Buchstaben teilen, bis nichts mehr übrig (der Text also geparst) ist. Bisher habe ich das aber nicht explizit gebraucht; schlicht den Anfang zu inkrementieren hat gereicht.

Der Clou ist nun, dass man out-of-bounds-Fehler einfach analyisieren kann, weil jeder Zeiger nur entweder an einer einzelnen Instanz oder aber an einer Range bestimmter Größe hängt.

Kein Beispieltext, weil mein Entwicklungssystem atm nicht am Netz hängt.
Wie kann ich mir dann einen gezielten Zugriff auf ein beliebiges Element im Array vorstellen?

So in etwa?

Code: Alles auswählen

foo : int_array;
// fill array with values
bar : int(foo.begin() + 5); // Zugriff auf das 6. Element?
// normal: int bar = foo[5];
Oder muss ich dann sogar noch selbst durchiterieren?
Ohne Input kein Output.
Benutzeravatar
Krishty
Establishment
Beiträge: 8250
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Seht ihr die rot umkringelten Einstellungen? Seht ihr die?
i_cant_even.png
Die sind auch ohne Debug Runtime aktiv. Sie kommen nur nicht zur Benutzerschnittstelle durch.

Wenn man an einem 8-Kern-i7 entwickelt, merkt man es nicht. Wenn man aber an einen drei Jahre alten Eee PC zurückgeht, entwickelt man wochenlang die abstrusesten Optimierungen, die alle mysteriöserweise nicht einmal ein Prozentchen Leistung bringen. Das System verbringt weiterhin 87 % der Ausführungszeit in Shader Validation und 5 % in Debug-Output-Funktionen, von denen man nie etwas zu Gesicht bekommt. Schaltet man die umkringelten Einstellungen ab, klettert die Einzelbildrate plötzlich von 7 auf 78, und zwei Wochen Fummelei waren quasi umsonst.

Ist natürlich mein Fehler, denn wenn sie mit der Retail Version keine Wirkung hätten, wären sie ausgegraut. Trotzdem eine Stelle, an der man sich das ganze System zerschießen kann. Plötzlich rendert nämlich auch Visual Studio 2010 seinen Text schneller und das Scrollen geht wieder absolut flüssig.

Ich habe noch nie so lange gebraucht, um einen Flaschenhals zu finden. Mein Programm verwaltet mittlerweile jeden Render-State selber, um auch die unscheinbarsten überflüssigen API-Aufrufe vorzeitig rauszufiltern und ist auf tausenden Zeilen für die Intel Atom-Pipeline optimiert … und das alles hatte nichts mit der 90-%igen Leistungseinbuße zu tun.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
TDK
Beiträge: 54
Registriert: 06.04.2012, 11:15

Re: Jammer-Thread

Beitrag von TDK »

Du arme Sau... :D

Und sowas kommt mir nicht mal unbekannt vor.

... :twisted:
glassbear
Establishment
Beiträge: 324
Registriert: 08.04.2003, 18:09
Alter Benutzername: Enrico_
Echter Name: Enrico
Wohnort: San Diego
Kontaktdaten:

Re: Jammer-Thread

Beitrag von glassbear »

2.5 Jahre nach dem ersten iPad und es gibt endlich ernsthafte Konkurrenz. Von Microsoft. Mit Surface.

Schade, ich wuerde ja gerne Geld fuer ein Android-Tablet auf den Tisch legen. Doch es gibt einfach nix.
Ein Hoch auf uns Männer... Auf die Frau, die uns HAT ( oder hat, und nicht weiß, dass sie uns hat ) ...auf die Idiotinnen ... besser gesagt VOLLPFOSTINNEN ... die uns hatten und uns verloren haben ... und auf die GLÜCKLICHEN, die das Vergnügen & Glück haben werden uns kennenzulernen!
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Ich habe gerade gemerkt, dass ich noch vergessen habe, 30 Vergleichsoperatoren zu schreiben (und nein, Templates helfen hier ausnahmsweise nicht). Aber man muss ja auch morgen noch etwas zu tun haben.
Benutzeravatar
Krishty
Establishment
Beiträge: 8250
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Visual C++’ automatisch generierte Zuweisungsoperatoren sind ein Witz. Die Zuweisung einer 4×3-float-Matrix wurde durch ein call memcpy (ja – durch einen Aufruf in die CRT-DLL!) ersetzt statt durch drei SSE-Befehle.

Die Optimierung von Zeigerarithmetik ist so gut wie garnicht vorhanden. Ich habe eben 4 KiB Maschinentext in einer inneren Schleife gespart, indem ich alle Adressberechnungen von Hand auf char * durchführe statt den Compiler mit unsigned short * rumrechnen zu lassen. Echt zum Kotzen.

Nach meiner Optimierung auf Eee hat sich die Anzahl der Render State Changes mehr als halbiert, aber die Anzahl der Draw Calls fast verdoppelt. Genau das sollte ja verhindert werden. WTF. Ich hasse komplexe Systeme.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben:Nach meiner Optimierung auf Eee hat sich die Anzahl der Render State Changes mehr als halbiert, aber die Anzahl der Draw Calls fast verdoppelt. Genau das sollte ja verhindert werden. WTF. Ich hasse komplexe Systeme.
Wie gibt's denn das!?
Benutzeravatar
Krishty
Establishment
Beiträge: 8250
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Wie wohl? Irgendwo einen Fehler gemacht. Vielleicht versehentlich einen Cache verkleinert. Vielleicht wurde der Zähler vorher falsch hochgezählt; oder jetzt doppelt. Mal gucken.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Wieso installiert sich das CUDA SDK in einen versteckten ProgramData-Ordner? Und sehe ich das richtig, dass in diesem 1,3 GiB-Paket nichts drin ist, was ich brauche? Steht SDK neuerdings für Sample-Documentation-Kit?

Oh, und gibt es irgendeine Möglichkeit, CUDA-Integration für ein Visual Studio 2010-Projekt nachträglich zu aktivieren?
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

CodingCat hat geschrieben:Wieso installiert sich das CUDA SDK in einen versteckten ProgramData-Ordner? Und sehe ich das richtig, dass in diesem 1,3 GiB-Paket nichts drin ist, was ich brauche? Steht SDK neuerdings für Sample-Documentation-Kit?
Das SDK brauchst du sowieso nicht unbedingt, das Toolkit sollte normalerweise reichen.
CodingCat hat geschrieben:Oh, und gibt es irgendeine Möglichkeit, CUDA-Integration für ein Visual Studio 2010-Projekt nachträglich zu aktivieren?
Selbstverständlich, einfach die Custom Build Rule hinzufügen.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Danke, Custom Build Rules habe ich mit Visual Studio 2010 komplett aus den Augen verloren, wo ich mir selbst praktisch keine mehr basteln kann. Hoffentlich kommt das mit VS11 wieder.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

CodingCat hat geschrieben:Wieso installiert sich das CUDA SDK in einen versteckten ProgramData-Ordner? Und sehe ich das richtig, dass in diesem 1,3 GiB-Paket nichts drin ist, was ich brauche? Steht SDK neuerdings für Sample-Documentation-Kit?
Ja, das machen das GPU Computing SDK und das Graphics SDK so; wobei ich mal versucht habe, die Pfade umzustellen, mit dem Ergebnis, dass dann nichts mehr lief. :evil:
CodingCat hat geschrieben:Danke, Custom Build Rules habe ich mit Visual Studio 2010 komplett aus den Augen verloren, wo ich mir selbst praktisch keine mehr basteln kann. Hoffentlich kommt das mit VS11 wieder.
Du könntest doch die .rules-Datei basteln, in ein Visual-Studio-2008-Projekt von Hand per Texteditor einbinden, und dieses automatisch in ein Visual-Studio-2010-Projekt umwandeln lassen; zumindest hier hat er dann passende .props-, .targets- und .xml-Dateien produziert.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

ARGH. Stell dir vor es ist 2012 und CUDA nutzt keine Namespaces. Error: uint4 is ambiguous. OH REALLY? Was mache ich jetzt? Straßenmusiker?
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

CodingCat hat geschrieben:Danke, Custom Build Rules habe ich mit Visual Studio 2010 komplett aus den Augen verloren, wo ich mir selbst praktisch keine mehr basteln kann. Hoffentlich kommt das mit VS11 wieder.
Der Umstieg auf MSBuild ist imo ein Segen. Irgendwelche Build Rules sind dagegen echt armselig. Zurück wünschen würd ich mir die niemals...
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Für mich als Außenstehender ist MS Build nur ein Haufen C#-Fetzen unlesbar verpackt und verstreut in XML. Die Schnelle Integration von Kommandozeilenwerkzeugen über einen Konfigurationsdialog war dagegen extrem einfach. Wie das intern gespeichert und verarbeitet wird, ist mir dann egal, weil ich es nicht verstehen muss. ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

CodingCat hat geschrieben:ARGH. Stell dir vor es ist 2012 und CUDA nutzt keine Namespaces. Error: uint4 is ambiguous. OH REALLY? Was mache ich jetzt? Straßenmusiker?
Es ist WIRKLICH aussichtslos. Nicht mal in eigenen Namespaces werden explizit mit using importierte Typen denen aus äußeren Namespaces (i.d.F. aus dem globalen) bevorzugt. Schluss, Aus, Ende.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Ich glaubs kaum; es scheint so, als ob die MSBuild-Extensions von CUDA (Ordner extras → visual_studio_integration → MSBuildExtensions) tatsächlich von Hand geschrieben wurden (zumindest sind da noch „TODO“s drin), und nicht automatisch konvertiert wurden. Wer tut sich denn so etwas an …

(In dem darüberliegenden Ordner ist auch die nachträgliche VS-Integration beschrieben.)
CodingCat hat geschrieben:Schluss, Aus, Ende.
CUDA-Header umschreiben? Ich nehme mal an, dein uint4 ist mit deren in der Größe übereinstimmend.

Andere Frage: Warum nun CUDA, und keine ComputeShader?
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Weil mir thrust einigermaßen effizient implementierte parallele Primitive bietet, sobald ich mein Programm wieder compiliert bekomme. Damit kann ich eventuell mal einige Methoden mit Scans und Sortierungen evaluieren, ohne dabei wie eine Schnecke in der Wüste von Ansatz zu Ansatz zu kriechen, während Binding-Fehler und fxc-Bugs über mir kreisen.

Zu uint4: Nein, mein uint4 ist ein 4-Byte-Integer und findet sich entsprechend häufig im Programm. :evil:
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8250
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Da lach sich nochmal einer kaputt, dass meine Typen UnsignedInt4B heißen. Aber ohne namespace ist das doch wirklich lächerlich. Diese Anfänger.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4260
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

Krishty hat geschrieben:UnsignedInt4B
<3 Explizität ftw
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Fazit des Tages: Komfortabel zusammengebaute Namespaces im Stil von namespace foo { using namespace bar::types; ... } kann man in C++ vergessen, sobald irgendeine dumme C-Bibliothek daher kommt und alles in ihren globalen Namen ertränkt. Wie ich jetzt am besten weitermache, weiß ich immer noch nicht. uint4 in mehreren tausend Dateien durch uint4b ersetzen und hoffen, dass dieser Name nie wieder mit irgendeiner anderen Bibliothek kollidiert? Alles bis zur Unlesbarkeit mit strikt qualifizierten Namen verschandeln? Schon wieder ein Tag im Eimer und schon wieder ein Grund mehr, C++ zu hassen.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8250
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Wenn du schon nicht CUDA in ein namespace klemmen kannst, kannst du das nicht zumindest mit deinem eigenen Quelltext tun? namespace Cat { } um alles von dir? Dann würde CUDA dein uint4 nicht mehr finden und dein eigener Text erstmal im eigenen Namensbereich suchen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Leider nein, diese Lösung habe ich bereits getestet. Auch in eigenen Namespaces werden alle globalen Symbole sofort in den Lookup mit einbezogen. Warum, ist mir gerade nicht mal klar. Normalerweise ärgert C++ einen ja damit, dass der Lookup gerade nicht fortgesetzt wird, sobald irgendein passender Name gefunden wurde. Btw. treten die Mehrdeutigkeiten gerade vor allem in meinen eigenen Namespaces auf, CUDA selbst nutzt seine Vektortypen in den Headers nicht mal.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4260
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

vielleicht irgendwas mit präprozessor-makro-magie hinbasteln?
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Ich habe soeben in der Tat eine akzeptable Lösung mit Hilfe des Präprozessors hinbekommen. Tatsächlich unterscheiden sich die Namensauflösungsregeln zwischen using-Deklarationen und using namespace-Direktiven fundamental: Letztere packen für die Namensauflösung salopp gesagt alle Namen aus dem importierten Namespace in den ersten Namespace, der sowohl den importierten als auch den importierenden umschließt. Da in diesem Fall die Namespaces vollkommen disjunkt waren, hatten die importierten Namen somit alle exakt dieselbe Priorität wie die des globalen Namensraums. Einzelne using-Deklarationen hingegen packen den importierten Namen direkt in den importierenden Namespace. Damit war die Lösung, die relevanten Typen einzeln zu importieren. Das habe ich jetzt für diese speziellen Typen in ein Reimport-Numeric-Types-Makro gepackt. :-/
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Der uint4 Kram kommt in CUDA afaik nur aus einem Header und ist nicht direkt in der Sprache eingebaut. Evtl. könntest du einen namespace um die #includes der CUDA Header wrappen!?
eXile hat geschrieben:Ich glaubs kaum; es scheint so, als ob die MSBuild-Extensions von CUDA (Ordner extras → visual_studio_integration → MSBuildExtensions) tatsächlich von Hand geschrieben wurden (zumindest sind da noch „TODO“s drin), und nicht automatisch konvertiert wurden. Wer tut sich denn so etwas an …
Ich z.B...hab grad vor zwei Wochen eine custom MSBuild Integration für CUDA gebastelt, weil die mitgelieferte für unsere Zwecke unbrauchbar ist. MSBuild ist ein sehr mächtiges Werkzeug...
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

dot hat geschrieben:Der uint4 Kram kommt in CUDA afaik nur aus einem Header und ist nicht direkt in der Sprache eingebaut. Evtl. könntest du einen namespace um die #includes der CUDA Header wrappen!?
Da ich heute schon mit Namensauflösung voll ausgelastet war, kann ich das noch nicht wirklich beurteilen. Aber ich würde vermuten, dass die Dinger für CUDA doch ziemlich built-in sind, immerhin sind das die fundamentalen Vektortypen, mit denen in HLSL z.B. alles läuft?

struct __device_builtin__ __builtin_align__(16) uint4 sieht auf jeden Fall ziemlich built-in aus. ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Ich musste gerade feststellen, dass ich zwischen LEAN_NOINLINE, LEAN_NOTINLINE und LEAN_NOLTINLINE unterscheide. Manchmal frage ich mich selbst, wo ich das alles gelernt habe.

Falls es jemanden interessiert: LEAN_NOINLINE ist für Funktionen mit expliziter inline-Semantik aber ohne Inlining in der Codegenerierung, LEAN_NOTINLINE für Funktionen mit impliziter inline-Semantik ohne Code-Inlining und LEAN_NOLTINLINE für Funktionen ohne inline-Semantik und ohne Code-Inlining (LT steht hier wohl für Link-Time.) Für MSVC++ bedeutet das:

Code: Alles auswählen

#define LEAN_NOINLINE __declspec(noinline) inline // Gotta love dat combo
#define LEAN_NOTINLINE __declspec(noinline)
#define LEAN_NOLTINLINE __declspec(noinline)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Okay, das mit der tollen Integration von CUDA durch den C++-Precompiler hat sich dann wohl auch erledigt:
nvcc hat geschrieben:nontype "lean::strings::nullterminated_implicit<Char, Traits>::value_type [with Char=Char, Traits=Traits]" is not a type name
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

nvcc hat geschrieben:compiler is out of heap space
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Antworten