Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Con la quattordicesima generazione Lenovo ridisegna il suo ThinkPad più iconico attorno al nuovo Space Frame e ai processori Intel Core Ultra Series 3. Resta sotto 1Kg, è molto più semplice da riparare e si rivolge al professionista che lavora in mobilità, con un prezzo da prodotto di vertice.
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
Le Jabra Evolve3 85 non sono semplicemente cuffie Bluetooth con cancellazione del rumore. Sono un dispositivo professionale pensato per chi trascorre gran parte della giornata in riunione, al telefono o davanti a un assistente basato sull'intelligenza artificiale
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-11-2003, 12:19   #1
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
matrici enormi...

Ciao,
sono sempre qua con le mie matrici....
Mi nasce un dubbio... Se tratto matrici enormi, supponiamo 100kx100k reali (float o meglio double) è ovvio che un paio di c@zzi li avrò... Se programmo in fortran, posso dire di allocare e disallocare memoria, ma serve a poco. Il C forse è migliore, forse Visual C++ è ancora meglio con la classe __gc.... ma avrò sempre e cmq c@zzi...
Avete idee in merito?
Come funzionano i programmi di simulazione fluidodinamica che fanno un casino di conti? O forse non usano contemporaneamente, come serve a me, 1e+8 ... 1e+10 float o double?
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 12:48   #2
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Mmmm, si ma tu cosa vuoi usare?
Hai fatto il discorso dell'allocare/liberare memoria...
Vuoi farlo con matlab?
Mi sembra di ricordare che con Matlab per liberare la memoria occupata da una variabile si usi il comando "clear"...ma è + di un anno che non lo tocco quindi potrei sbagliarmi.
Per allocare invece non c'è problema, lo fa in automatico quando definisci la variabile...

Per quanto riguarda le dimensioni...100k*100k = 10M
Se double occupa diciamo 4 byte, allora saranno 40 i Mb riservati per tale matrice... nemmeno tanti se consideriamo quanta ram monta in generale un pc oggi. Poi considera anche la memoria di massa alla quale il s.o. va ad attingere e quindi non dovresti avere problemi particolari a gestire tali matrici se non per l'aumento del tempo di esecuzione: accedere a disco è infinitamente + lento...

Swap swap swap swap swap
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 12:54   #3
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
no,no,scusa... non mi sono spiegato... intendevo matrici di 100000 righe x 100000 colonne di float o double... Fa circa 10 MILIARDI di float allocati contemporaneamente...
Con matlab non ci penso neanche ad avventurarmi... Diciamo che posso usare o fortran o C o C++ o Visual C++ .NET....
Cerco un metodo che sia lento ma che mi consenta di fare i calcoli su un pc con, diciamo, 1 Gb di RAM...
Idee?
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 13:32   #4
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Dipende dai calcoli che ci devi fare, ma in generale potresti applicare una suddivisione della matrice...ad esempio matrice 6x6:

1 0 1 0 0 1
1 1 1 1 1 0
1 0 0 0 0 1
0 1 1 0 0 0
1 1 0 0 0 1
0 0 0 1 1 1

a =
1 0
1 1

b =
1 0
1 1

c = e così via a sottomatrici di 2x2

alla fine avresti una matrice 3x3

a b c
d e f
g h i

Per operazioni quali addizioni e moltiplicazioni puoi prendere le sotto matrici ed elaborarle in modo da dover lavorare con matrici di dimensioni più ridotte.

Quindi puoi utilizzare il disco rigido come memoria dove salvare dati temporanei e dati finali mentre la ram per effettuare i calcoli con le sottomatrici di dimensioni più contenute.

Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 14:39   #5
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
proverò a vedere.... effettivamente quella delle sottomatrici non l'avevo pensata; mentre avevo già pensato a scrivere i dati su file... sarà un casino lento ma.... se non ci sono alternative...
Perchè non ci sono, vero?
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:29   #6
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
in 3D ogni nodo "vede" quelli vicini (per i volumi finiti ogni nodo vede i sei Est, Ovest, Nord, Sud, Top, Bottom)
==> matrici sparse (per i volumi finiti sistemi di equazioni lineari eptadiagonali)
==> algoritmi per matrici sparse a propagazione (per vol.finiti p.es. algoritmo di Thomas a direzioni alternate)

questo riduce di molto il numero dei coefficienti da memorizzare (non N² ma per.es. 7*N)

poi certo a un certo punto si deve swappare su HD ma mooooolto più i là di quanto verrebbe da pensare: vedi algoritmi multigrid.

Il testo introduttivo per eccellenza è:
S.V.Patankar – Numerical Heat Transfer and Fluid Flow – McGraw Hill

Patankar e Spalding sono gli autori del metodo di integrazione ai volumi finiti di Navier-Stokes, Fourier, Fick implementato in Fluent ...
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:38   #7
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originariamente inviato da cipi
no,no,scusa... non mi sono spiegato... intendevo matrici di 100000 righe x 100000 colonne di float o double... Fa circa 10 MILIARDI di float allocati
Secondo me non hai la "macchina adatta" per trattare queste grandezze:

Il float occupa 4 byte, il double 8 byte, fanno in totale 80GB per una matrice, ben oltre le capacita delle macchine "comuni".

Non puoi allocare 80GB ... semplicemente perché in Windows 32-bit (parlo di 2k/XP) un processo può vedere al massimo 4GB di memoria di indirizzamento virtuale.

Potresti lavorare su disco, però un disco da 80GB per ogni matrice non è molto comodo, neanche con le sotto-matrici.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:41   #8
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
con l'algoritmo di Patankar-Spalding si possono effettuare calcoli di 50*50*25 = 62500 nodi con solo 640 kB di RAM (era il limite del vecchio DOS)

Ora ti puoi sbizzarrire, e con i metodi multigrid arrivare un bel pezzo in là prima di swappare su HD.

Naturalmente le matrici vanno swappate in formato binario.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:44   #9
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Naturalmente ti consiglio vivamente il Fortran90/95 come linguaggio che ti permette sintetiche scritture per le operazioni termine a termine tra matrici, per l'estrazione di matrici da matrici con criteri assolutamente arbitrari ecc.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:49   #10
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
tieni conto inoltre che i metodi a volumi finiti nella loro versione multigrid, pur derivando dalla discretizzazione e linearizzazione di equazioni differenziali alle derivate parziali, sono metodi intrinsecamente integrali e paralleli e si prestano quindi all'elaborazione contemporanea su cluster di computer.

e questo sposta ancora più in là lo swapping intensivo su HD.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:57   #11
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
scusa se insisto... ma visto che sei ferrato...
non devo fare calcoli fluido/termodinamici, anzi tutt'altro. Le matrici che devo trattare non sono sparse, non sono diagonali, non sono simmetriche... insomma non sono un ç@§§0!!! Questi metodi di cui mi parli vanno bene cmq?
Altra domanda... dici che il C non va bene? Gestisce meglio la memoria il Fortran del C?
grazie ancora...
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 15:59   #12
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Quote:
Originariamente inviato da a2000
tieni conto inoltre che i metodi a volumi finiti nella loro versione multigrid, pur derivando dalla discretizzazione e linearizzazione di equazioni differenziali alle derivate parziali, sono metodi intrinsecamente integrali e paralleli e si prestano quindi all'elaborazione contemporanea su cluster di computer.

e questo sposta ancora più in là lo swapping intensivo su HD.
Se è così... dispongo di un cluster linux di 6 macchine biprocessore nuove nuove...
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 16:11   #13
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ferrato sarai tu visto che sei meccanico, io sono gasato (ing. chimico)

sei sicuro che non siano sparse ?
da quale problema fisico derivano ?

comunque un problema con n nodi con n² coefficienti <> 0 è quasi sicuramente mal posto, probabilmente con soluzioni instabili, probabilmente caotiche.

poi ci sono alcune cosine che bisogna sapere prima di avventurarsi, per esempio:
stabilità delle soluzioni iterative per matrici a diagonale dominante
buon condizionamento di una matrice
....
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 16:13   #14
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
senno' al caos (eventuale) del sistema fisico descritto aggiungi il caos (garantito) delle soluzioni numeriche ottenute (ma buone per il gioco del lotto)
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 16:17   #15
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da cipi
Se è così... dispongo di un cluster linux di 6 macchine biprocessore nuove nuove...
beh, quasi come al Centro Meteo Epson ...
così ti puoi fare le previsioni del tempo dalla tua stanzetta a quella dela tua ragazza (80 anni) per non far prendere freddo al vettorino
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 16:58   #16
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da a2000

sei sicuro che non siano sparse ?
da quale problema fisico derivano ?
prooontoooo ?
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 17:11   #17
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
scusa ma il mio acer ha deciso di prendersela con me oggi...
Sto facendo delle analisi non fisiche: sono nuovi algoritmi decisionali che sto studiando... Sono robusti, testati e testati ma producono un sacco di informazioni (allo scopo di produrre una scelta appunto!)
Ogni singolo misero e miserabile numerino è importante e maledettamente diverso da zero...
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 17:14   #18
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Quote:
Originariamente inviato da a2000
ferrato sarai tu visto che sei meccanico, io sono gasato (ing. chimico)
....
:eheh:
Gasato = ti scureggia il cervello?

PS
Quella di 80 anni mi ha lasciato... non le stavo dietro!!!
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 17:57   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Comunque dove li allochi 80 Gb ? Secondo me non puoi lavorare su tutta la matrice contemporaneamente...

Io ti consiglio di fare una bel livello di astrazione che ti bufferizza varie aree delle matrici intorno ad ogni valore richiesto...poi il resto della matrice va su file...

Inoltre conoscendo a priori l'algoritmo puoi fare una bufferizzazione ad hoc che ti limita l'accesso al disco...

Ultima modifica di cionci : 06-11-2003 alle 18:00.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 18:04   #20
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
...spiegati un po' meglio... bufferizzare le matrici?
cipi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
PCSpecialist Black Friday 2026: cinque P...
Asahi Linux accusa: codice copiato e rip...
Energica torna in vita: moto elettriche ...
OpenAI incassa altri miliardi, ma qualco...
Dal 33% al 43%: una ricerca spagnola apr...
TikTok non è più solo un s...
Passo indietro per OPPO: cancellato il n...
Microsoft 365 nel caos: email regolari r...
Nuova strategia per Huawei: l'azienda ci...
Microsoft, il datacenter di Amsterdam di...
Steam Deck: Epic conferma il supporto de...
Claude Code può salvare credenziali in c...
L'algoritmo di TikTok ti intrappola: l'a...
WoW Forever è stato il miglior la...
gputaskman, arriva il Task Manager per G...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v