Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Numeri primi Multithread?
Forum - C/C++ - Numeri primi Multithread? - Pagina 2

Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:09
Martedì, 29/09/2015
con la compilazione condizionale stai comunque scrivendo, due programmi differenti. Certo, hanno molte parti uguali fra loro, ma sono due programmi differenti.

No, io ho solo letto http://man7.org/linux/man-pages/man3/pthread_setaffinity_n ...

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:10
Martedì, 29/09/2015
Testo quotato

Postato originariamente da TheDarkJuster:

con la compilazione condizionale stai comunque scrivendo, due programmi differenti.



Solo nelle parti OS dependent ... ma è inevitabile ...


Testo quotato




non portable ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:20
Martedì, 29/09/2015
Oh..... non lo sapevo proprio. Chiedo scusa. In pratica ho dato un'alternativa sched_setaffinity()  ......

Si nessuno, a quanto pare, se il SO non parallelizza su più core i diversi thread in automatico, fare richiesta perchè ciò accada è inevitabile. Sono comunque due programmi che si comportano in maniera differente per avere gli stessi risultati.....

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:27
Martedì, 29/09/2015
Testo quotato

Postato originariamente da TheDarkJuster:
Sono comunque due programmi che si comportano in maniera differente per avere gli stessi risultati.....



In che senso "si comportano in maniera differente" ?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:32
Martedì, 29/09/2015
Chiamano due funzioni diverse fra loro. Il risultato è (o comunque dovrebbe essere) lo stesso. Ma non si può dire che chiamare sched_setaffinity() o SetThreadAffinityMask() sia proprio la sessa identica cosa, concordi? Per lo meno per come sono strutturati internamente i kernel e per come i SO mettono a disposizione quelle API.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:06
Martedì, 29/09/2015
Non puoi pensare che le chiamate al sistema siano uguali in sistemi operativi diversi.

E' il principio che è lo stesso. Ovvero fare allocare ad un core diverso un diverso thread/processo. E questo principio è il medesimo nei due casi.

Devi pensare un maniera un po' più "astratta", non legandoti alla modalità dipendente dall'os ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
osharko (Normal User)
Pro


Messaggi: 124
Iscritto: 16/04/2011

Segnala al moderatore
Postato alle 10:53
Mercoledì, 30/09/2015
sched_setaffinity();
pthread_setaffinity_np();

queste due funzioni quindi mi fanno assegnare i thread ad un determinato core?
io ho usato solo thread e fork finore (solo su linux), non pensavo si potesse fare una cosa simile

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 11:08
Mercoledì, 30/09/2015
Se vuoi scrivere codice multipiattaforma con C/C++ devi ricorrere a funzioni di libreria "generiche" che si preoccupano loro di gestire l'OS sottostante. Oppure un altro metodo è quello di utilizzare largamente le direttive del preprocessore, ovvero attivare e disattivare i blocchi di codice dipendenti dall'OS con #IF (ad esempio #IF WIN32 per i blocchi per OS windows).

PM Quote
Pagine: [ 1 2 3 4 5 6 ] Precedente | Prossimo