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: 6383
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: 6383
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: 6383
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