Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-11-2003, 11: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, 11: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, 11: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, 12: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, 13: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, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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, 14: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, 15: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, 15: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, 15: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, 15: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, 16: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, 16: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, 16: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 17:00.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 17: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


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Il web libero è morto, il pap&agr...
Il meglio dei robot a basso costo: Lefan...
Laureati in informatica senza lavoro, ne...
Una valanga di contenuti già annu...
Molti nemici... molto successo? Questo C...
Fotocamere Galaxy S26: poche differenze ...
Opera Neon: il nuovo browser AI agentico...
Collasso digitale alle porte? Quali sono...
Qualcomm 'schiaccia' Arm in tribunale: v...
Meta spinge sull'indipendenza da NVIDIA:...
Spotify rivoluziona la sua guida: Daniel...
Sora 2: la seconda generazione del model...
Nuovo obiettivo FE 100mm F2.8 Macro GM O...
Steelseries Arctis Nova Elite: le prime ...
30 anni di PlayStation da indossare: arr...
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: 08:07.


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