Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2003, 09:09   #41
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ancora un pezzettino:

[size=1.5]
Overview of Mixed-Language Issues
Mixed-language programming involves a call from a routine written in one language to a function, procedure, or subroutine written in another language. For example, a Fortran main program may need to execute a specific task that you want to program separately in an assembly-language procedure, or you may need to call an existing DLL or system procedure.
Mixed-language programming is possible with Microsoft languages because each language implements functions, subroutines, and procedures in approximately the same way. Table 22.1 shows how different kinds of routines from each language correspond to each other. For example, a C main program could call an external void function, which is actually implemented as a Fortran subroutine.
Table 22.1 Language Equivalents for Calls to Routines


Language Call with return value Call with no return value

Fortran FUNCTION SUBROUTINE
C and Visual C++ function (void) function
Visual Basic Function Sub
Assembly language Procedure Procedure
There are some important differences in the way languages implement routines. Argument passing, naming conventions and other interface issues must be thoughtfully and consistently reconciled between any two languages to prevent program failure and indeterminate results. But the advantages of mixed-language programming often make the extra effort worthwhile. A summary of a few mixed-language advantages and restrictions follows:
· Fortran/Assembly Language
Assembly-language routines are small and execute very quickly because they don’t require initialization as do high-level languages like Fortran and C. Also, they allow access to hardware instructions unavailable to the high-level language user. In a Fortran/assembly-language program, compiling the main routine in Fortran gives the assembly code access to Fortran high-level procedures and library functions, yet allows freedom to tune the assembly-language routines for maximum speed and efficiency. The main program can also be an assembly-language program.
· Fortran/Visual Basic
A mix of Fortran and Visual Basic 4.0 (32-bit) allows you to use the easy-to-implement user-interface features of Visual Basic, yet do all your computation, especially floating-point math, in Fortran routines. In a Fortran/Visual Basic program, the main routine must be Visual Basic. It is not possible to call Basic routines from Fortran.
· Fortran/C
Generally, Fortran/C programs are mixed to allow one to use existing code written in the other language. Either Fortran or C can call the other, so the main routine can be in either language.

This section presents an explanation of the keywords, attributes, and techniques you can use to reconcile differences between Fortran and other languages. Adjusting calling conventions, adjusting naming conventions and writing interface procedures are discussed in the next sections:
· Adjusting Calling Conventions
· Adjusting Naming Conventions
· Prototyping a Procedure in Fortran

After establishing a consistent interface between mixed-language procedures, you then need to reconcile any differences in the treatment of individual data types (strings, arrays, and so on). This is discussed after conventions and prototyping in the section Exchanging and Accessing Data.

Note This section uses the term “routine” in a generic way, to refer to functions, subroutines, and procedures from different languages.

[/size]

Ultima modifica di a2000 : 11-11-2003 alle 09:12.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 09:20   #42
verloc
Senior Member
 
L'Avatar di verloc
 
Iscritto dal: Jan 2000
Messaggi: 551
Grazie!!!

Mi sa tanto che vuoi dire che aspiro al suicidio!

E mi sa pure che la fattorizzazione sulle sparse me la devo fare da solo.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 13:26   #43
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Quote:
Originariamente inviato da a2000
o ti occupi, mediamente, di utilizzare software commerciali ?
Non è così.... Algoritmi di ottimizzazione multiobiettivo non ce ne son molti in commercio... e forse lavoro in uno dei due unici posti al mondo dove si sviluppano

Quote:
Originariamente inviato da a2000
comunque ho apprezzato il tuo lavoro di tesi.

anche se non è necessario un algoritmo genetico per determinare che è necessario "riempire" dove ci sono turbolenze, distacchi di vena e depressioni.

Scusa ma mi sembra un po' riduttivo come commento ad una tesi di 14 mesi!!!
Inoltre lo scopo non era quello unico di ottimizzare una macchina, già buona in partenza, ma confrontare i risultati numerici con quelli sperimentali e le conclusioni.... sono da pubblicazione internazionale....
Lascia stare che non sarò un bravo programmatore, ma nel mio campo....


PS

Cmq, grazie anche alle tue osservazioni, sto portando il problema da n^3 a 3*n....
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 13:45   #44
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
Quote:
Originariamente inviato da cipi
Cmq, grazie anche alle tue osservazioni, sto portando il problema da n^3 a 3*n....
Una bella differenza direi
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 15:10   #45
cipi
Senior Member
 
L'Avatar di cipi
 
Iscritto dal: May 2002
Città: udine
Messaggi: 546
Quote:
Originariamente inviato da cionci
Una bella differenza direi
Direi di si.... Prima avevo bisogno del cluster della nasa... ora mi basta il mio XP2200+.... Godo....
PS
Grazie anche a te, al solito...
cipi è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 16:07   #46
Uzi[WNCT]
Senior Member
 
L'Avatar di Uzi[WNCT]
 
Iscritto dal: Jan 2000
Città: Prov. di VE
Messaggi: 2713
Scusa, perchè dicevi:

Quote:
Originariamente inviato da cipi
Con matlab non ci penso neanche ad avventurarmi...
La mia è solo una domanda: dato che da poco (per il corso di calcolo numerico ) sto usando Matlab, vorrei sapere se non è adatto a trattare matrici del genere. Ho provato a fare una 2500x2500 (con numeri random float all'interno) e ci ha messo circa 50secondi col mio XP 1800. Ammetto cmq che l' occupazione di ram era esagerata..... di 330 mb liberi, al momento dell'esecuzione ne restavano circa 60 ....
Uzi[WNCT] è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 17:26   #47
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
Quote:
Originariamente inviato da cipi
Grazie anche a te, al solito...
Ma di niente....figurati !!!
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 17:41   #48
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originariamente inviato da verloc
Ah,ciao Marco

Torniamo a noi,si hai ragione non penso ci saranno problemi nel chiamare le funzioni.

Non ho provato il gcc semplicemente perchè voglio mantenere i BCB5 come framework (senza la comodità grafica non andrei molto lontano dato che il tipo di problemi che tratto involgono la creazione di mesh graficamente etc).
Se usi ATLAS (http://www.netlib.org/atlas) non dovresti avere alcun problema, l'interfaccia C la compili senza usare il Fortran ed esistono versioni precompilate per diversi tipi di processori.

Quote:
Scusa l'ignoranza ma gcc funziona sic et simpliciter su windows o devo usare (non mi ricordo come si chiamano) quelle librerie che trasformano windows in linux?
Non programmo sotto windows, pero' se non sbaglio ci sono due 'incarnazioni' diverse del gcc, il cygwin che praticamente e' un ambiente unix sotto windows ed un altro (argh... i nomi !!! ) che invece e' un compilatore "normale" (se ti scarichi Dev-C++ dovresti avere il secondo); qualcuno piu' ferrato ti sapra' dire di piu'.

Quote:
Domanda : può influire l'avere il processore con le istruzioni SSE sulla velocità di un prodotto di matrici?
Si'; con le SSE si possono fare operazioni con quattro valori in singola precisione; con le SSE2 (P4) con due valori in doppia precisione. ATLAS riconosce automaticamente tali caratteristiche e le sfrutta.


Per la fattorizzazione di matrici sparse: esistono alcune librerie gratuite in giro, perlopiu' in Fortran, ma trovi anche le interfacce C++, e le ho usate con successo un po' di tempo fa per lavoro (matrici sparse 200000x50000).
Purtroppo ora non ricordo i nomi , l'unica che mi viene in mente e' SuperLU (per la decomposizione LU appunto), le altre sono in un cassetto a qualche migliaio di chilometri da dove mi trovo . In questo caso pero' devi avere l'interfaccia Fortran per le BLAS, ma ancora, se usi ATLAS non dovresti avere (grossi) problemi, (Oddio... meglio se chiedo a mio fratello i Makefiles, c'ho messo piu' di una settimana a trovare il modo giusto per linkare... ).
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:14   #49
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ma guardatevi le librerie in C++ pronte per l'uso nel CD allegato all'ottimo:

G. Buzzi-Ferraris, Metodi Numerici e Software in C++, Addison-Wesley
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:16   #50
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da cipi
Direi di si.... Prima avevo bisogno del cluster della nasa... ora mi basta il mio XP2200+.... Godo....
PS
...
e vuoi scommettere che se me lo passi ti basta il Commodore128

Ultima modifica di a2000 : 11-11-2003 alle 19:27.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:17   #51
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
che ho conservato insieme al "disco rigido" su cassette audio
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:19   #52
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ma a te non servirà: tanto, per il tuo problema, dovrai digitare ogni volta non più di 7 righe di codice !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:30   #53
verloc
Senior Member
 
L'Avatar di verloc
 
Iscritto dal: Jan 2000
Messaggi: 551
Quote:
Originariamente inviato da a2000
ma guardatevi le librerie in C++ pronte per l'uso nel CD allegato all'ottimo:

G. Buzzi-Ferraris, Metodi Numerici e Software in C++, Addison-Wesley
Le ho viste Gia,la classe per le matrici è proprio naive.
sembrerà un eresia ma se te lo dico io "che non sono un c..."che ha uno stile di programmazione da mani nei capelli....Pensa che non ottimizza neanche memorizzando la matrice in solo vettore.
Meglio quella di Barton-Nackmann.
di Buzzi,forse posso sfruttare il materiale sulle sparse.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:45   #54
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da verloc
Le ho viste Gia, la classe per le matrici è proprio naive.
sembrerà un eresia ma se te lo dico io "che non sono un c..."che ha uno stile di programmazione da mani nei capelli....Pensa che non ottimizza neanche memorizzando la matrice in solo vettore.
Meglio quella di Barton-Nackmann.
di Buzzi,forse posso sfruttare il materiale sulle sparse.
può essere che abbia distribuito quelle per uso "didattico" in cui evita un'ottimizzazione di alcuni aspetti, per esempio le risorse di memoria, che andrebbero a discapito della "corrispondenza" tra codice e algoritmo algebrico.

comunque le sue procedure, pardon classi, sono rinomate per essere molto robuste e veloci, in particolare quelle per la soluzione di sistemi di equazioni algebrico-differenziali.

P.S.
può anche darsi che quando può (didattica) abbia un rifiuto psicologico a utilizzare "un solo vettore" perchè quando programmava in Fortran77 memorizzava tutte le variabili in un solo vettore e le andava a cercare non con il nome, ma con un puntatore numerico !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 19:48   #55
verloc
Senior Member
 
L'Avatar di verloc
 
Iscritto dal: Jan 2000
Messaggi: 551
Quindi Marco per riepilogare:
1)scarico Atlas
2)scarico le Blas (già precompilate?)
Atlas mi fornisce l'interfaccia alle librerie Blas senza che devo compilarle in Fortran?


ps Miezzeca:se ci hai messo tu una settimana,io arrivo alla pensione!!!

Cmq adesso sono solo ad uno stadio di intenzione.All'occcorrenza ti posso contattare?(No te preocupe,non ti assillerò )


Cmq era così bella la MTL (se a2000 vede i bench si incazza )

(non c'è stato verso di farla andare)

http://www.osl.iu.edu/research/mtl/performance.php3

Ultima modifica di verloc : 11-11-2003 alle 19:51.
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 20:00   #56
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
ma la decomposizione LU è un piacere che non ti puoi negare !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2003, 21:27   #57
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originariamente inviato da verloc
Quindi Marco per riepilogare:
1)scarico Atlas
2)scarico le Blas (già precompilate?)
Atlas mi fornisce l'interfaccia alle librerie Blas senza che devo compilarle in Fortran?
no, le Atlas sono una "versione" delle Blas che fa l'auto-tuning del codice in base alla piattaforma sottostante (in modo da sfruttare SSE ad esempio, ma anche di individuare e utilizzare correttamente la cache L1 presente e cose del genere). Forniscono sia l'interfaccia C che quella Fortran (a seconda di quel che vuoi). All'indirizzo che ti ho indicato sopra dovrebbero essere presenti comunque delle versioni precompilate per specifici processori.

Quote:
ps Miezzeca:se ci hai messo tu una settimana,io arrivo alla pensione!!!
Beh, se usi l'interfaccia C e' facile, si tratta di includere l'header; diverso se usi librerie di piu' alto livello: anche se scritte in C/C++ spesso si appoggiano all'interfaccia Fortran ed e' qui che ho avuto un po' di intoppi (tieni presente che non avevo mai linkato codice di diversi linguaggi in precedenza).
Risolto questo pero' tutto viaggia alla perfezione, si tratta solo di fare l'abitudine ai nomi delle funzioni e all'elenco interminabile di parametri (o perdere un po' di tempo e farsi una classe wrapper).

Quote:
Cmq adesso sono solo ad uno stadio di intenzione.All'occcorrenza ti posso contattare?(No te preocupe,non ti assillerò )
No problem, tieni pero' presente che fino a meta' dicembre sono un po' a zonzo e magari potresti aspettare un po' per una risposta .

In bocca al lupo per la tesi !
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 07:03   #58
verloc
Senior Member
 
L'Avatar di verloc
 
Iscritto dal: Jan 2000
Messaggi: 551
Grazie!
Come al solito sei paziente e gentile!

...crepi!
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 09:31   #59
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
che bo' fa' : Fortran rulez !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 09:33   #60
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
a /\/\@®¢Ø ma che ci fai in sardegna d'inverno ?!
a2000 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Le sonde spaziali ESA ExoMars e Mars Exp...
Roscosmos: static fire per i propulsori ...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
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: 20:40.


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