|
Bas de page | |
---|---|
Auteur | Sujet : impossible de créer un vecteur de 32000 * 32000 short |
Publicité | Posté le 11-04-2012 à 18:22:13 |
el muchacho Comfortably Numb | LOL
--------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
hephaestos Sanctis Recorda, Sanctis deus. | Et du coup ? Pourquoi on peut pas allouer un vecteur de 4GB ? (partant du principe qu'on travaille en 64 bits) |
freeskate63 Si tu peux l'éviter, lévite |
|
hephaestos Sanctis Recorda, Sanctis deus. | Ouais, 2GB pardon. |
Taiche (╯°□°)╯︵ ┻━┻ | Si t'es sur du Windows 32 bits, la taille max d'un process c'est dans les 2 Go, donc boum. En général, t'en chies même lorsque le process dépasse 1.2 Go.
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
freeskate63 Si tu peux l'éviter, lévite |
Je suis sous windows seven en 64 bits, en effet, ça plante au bout d'1 Go approximativement. Bon donc ya pas moyen de faire un énorme tableau ? Il n'existe pas des classes spécifiques pour ça en C++ ? edit : c'est bon j'ai trouvé une pseudo-solution à mon problème : j'utilise des char (1 octets) à la place des short (2 octets) et je peux monter beaucoup plus haut. Message cité 1 fois Message édité par freeskate63 le 11-04-2012 à 19:36:04 |
Terminapor I'll see you rise. | Ben fais-en un plus petit, t'façon si l'OS gère pas plus d'environ 1Go, c'est un cas à écarter, non ? --------------- Perhaps you don't deserve to breathe |
theshockwave I work at a firm named Koslow |
--------------- last.fm |
freeskate63 Si tu peux l'éviter, lévite |
Logiquement oui Mais il se passe quelque chose de curieux : lorsque je crée un vecteur inférieur ou égale à une taille de 2^30, cela fonctionne (le processus utilise bien 1.002 Go de ram) mais lorsque je passe à 2^31, le processus n'utilise plus que 932 Ko mais le programme ne plante pas edit : j'utilise bien un long int pour définir la taille edit2 : ah non j'ai rien di, ca plante ^^ effectivement theshockwave, c'est bien 2x plus haut Message cité 1 fois Message édité par freeskate63 le 11-04-2012 à 19:50:12 |
Publicité | Posté le 11-04-2012 à 19:47:30 |
bjone Insert booze to continue | ton build il est 64 ou 32bits ?
Message cité 1 fois Message édité par bjone le 11-04-2012 à 19:53:45 |
freeskate63 Si tu peux l'éviter, lévite |
|
theshockwave I work at a firm named Koslow | C'est une mauvaise habitude d'allouer de si larges plage d'adresses.
--------------- last.fm |
el muchacho Comfortably Numb | Ouais, et pour faire un test, est-ce que les conditions "beaucoup de données" sont représentatives d'une appli réelle ? J'ai un gros doute. Message édité par el muchacho le 11-04-2012 à 21:46:17 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Taiche (╯°□°)╯︵ ┻━┻ | Mais un gros doute de quoi ? Tout ce qui est appli vidéo ça peut avoir un sens et, en finance, je parlais encore cet après-midi avec un collègue qui a eu des calculs à effectuer de 1000 scénarios sur 36 dates différentes pour 50 000 deals ; je te laisse faire la multiplication.
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
el muchacho Comfortably Numb |
--------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Taiche (╯°□°)╯︵ ┻━┻ | Bin écoute t'as raison, t'es champion du monde, les autres sont des cons, tu détiens la vérité
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
el muchacho Comfortably Numb |
Message édité par el muchacho le 11-04-2012 à 22:15:04 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Taiche (╯°□°)╯︵ ┻━┻ | Mais tes 64/128 Mo, tu les lis depuis où ? Perso je lis depuis une DB, c'est le gros bouchon en termes de perfs. Je sais pas si t'as vu la vitesse de traitement des GPU, mais tes 64/128 Mo, ils seront consommés beaucoup plus vite qu'ils ne seront lus depuis la base. Déjà avec un CPU quad-core "classique", j'ai testé l'approche de lecture par bouts et qui refile les données à calculer aux autres threads, ba y a starvation. Et ce en tapant sur une base SQLite qui envoie quand même en termes de perfs (32s pour 1 seul thread pour lire 4.8M de lignes avec 4 doubles, 2 strings et 1 int par ligne, sur un CPU 2.67 GHz).
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
el muchacho Comfortably Numb | Non mais il fait un test, il peut les générer à la volée, ses données, c'est pas un problème, ça. --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Taiche (╯°□°)╯︵ ┻━┻ | Je m'en fous, je répondais à ton assertion
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
Un Programmeur |
Ca ne m'étonnerait pas qu'on fasse ça quand on traite des données de clients. Et je ne parle pas de pool de mémoire qui sont redivisés après, parce qu'alors ça m'étonnerait qu'on ne le fasse pas.
1G ce n'est jamais que 128 millions d'objets de 8 bytes. C'est quoi ton alternative. Message édité par Un Programmeur le 11-04-2012 à 22:40:49 --------------- The truth is rarely pure and never simple (Oscar Wilde) |
el muchacho Comfortably Numb | En général, des traitements par lots, ou un pool de mémoire, justement. --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
el muchacho Comfortably Numb |
Message édité par el muchacho le 11-04-2012 à 23:17:17 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
flo850 moi je | Mais pourquoi ajouter une infra serveur avec les latence réseaux quand on peut juste tout charger en ram ? --------------- |
el muchacho Comfortably Numb |
Message cité 2 fois Message édité par el muchacho le 11-04-2012 à 23:24:50 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
theshockwave I work at a firm named Koslow |
--------------- last.fm |
el muchacho Comfortably Numb | De façon générale, je pense que les très grosses allocations (disons au pifomètre > 10% de la RAM dispo) sont à éviter parce qu'elles dépendent du bon vouloir de l'OS, ce qui rend le programme non portable: je pense qu'une alloc d'1 Go qui passera sous Linux 64 ne passera pas forcément sous un autre OS. Et un malloc qui foire, c'est un programme qui quitte immédiatement (ou il crashe dans la seconde). Message cité 2 fois Message édité par el muchacho le 12-04-2012 à 08:40:06 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
freeskate63 Si tu peux l'éviter, lévite | Merci à tous pour vos réponses
|
freeskate63 Si tu peux l'éviter, lévite |
|
el muchacho Comfortably Numb | Oui, je comprends bien le problème, mais dans ce message je répondais à Taiche, ici GC signifie garbage collector, pas graphic card.
Message cité 1 fois Message édité par el muchacho le 12-04-2012 à 08:51:03 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
hephaestos Sanctis Recorda, Sanctis deus. | Par contre une fois que tu passes en CUDA, pense justement à le copier en tant qu'array 2D pour ne pas forcer une allocation en mémoire linéaire dans la mémoire GPU (et si c'est un tableau constant, le lier à une texture 2D pour pouvoir activer les fonctions de cache et accélérer l'accès). |
freeskate63 Si tu peux l'éviter, lévite |
Autant pour moi, ça collais parfaitement avec ma problématique
|
freeskate63 Si tu peux l'éviter, lévite |
|
hephaestos Sanctis Recorda, Sanctis deus. | Au lieu d'allouer la mémoire avec cudaMalloc, tu l'alloues avec cudaMallocArray : http://developer.download.nvidia.c [...] 40349.html |
Un Programmeur |
--------------- The truth is rarely pure and never simple (Oscar Wilde) |
Taiche (╯°□°)╯︵ ┻━┻ |
--------------- Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient. |
el muchacho Comfortably Numb |
Message édité par el muchacho le 12-04-2012 à 13:49:57 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Publicité | Posté le |
Sujets relatifs | |
---|---|
créer un bouton "imprimer" (html) | créer un tableau php avec tri et plusieurs tables... |
Creer un cercle dans un plan avec Papervision 3D | créer un video/chat pour trois personnes sur mon site |
créer un video/chat pour trois personnes !! | créer un site facilement modifiable par le client |
créer un site | Modification d'un flux rss pour créer un code embed de vidéo |
Comment parcourir un vecteur dans un vecteur ? | [Résolu]Aide pour créer un petit prog |
Plus de sujets relatifs à : impossible de créer un vecteur de 32000 * 32000 short |