Μάθημα : Παράλληλη Επεξεργασία
Κωδικός : CEID1057
Πέμπτη, 6 Ιουλίου 2023 - 4:58 μ.μ.
- από τον χρήστη"The short answer is that it has no impact on printf, and denotes (the) use of float or double in scanf."
https://stackoverflow.com/questions/25860850/what-is-the-difference-between-f-and-lf-in-c
Κυριακή, 15 Μαΐου 2022 - 10:50 μ.μ.
- από τον χρήστηΠαρασκευή, 6 Μαΐου 2022 - 6:16 μ.μ.
- από τον χρήστηΗ υλοποίηση της εντολή atomic του OpenMP μπορεί να βασίζεται στις ακόλουθες ατομικές εντολές του GCC compiler:
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
π.χ. οι παρακάτω κώδικες δίνουν το ίδιο αποτέλεσμα όμως δεν έχουν την ίδια απόδοση:
pthread_mutex_lock(&mutex);
sum++;
pthread_mutex_unlock(&mutex);
__atomic_fetch_add(&sum, 1, __ATOMIC_SEQ_CST);
Ο ισόδυναμος κώδικας της δεύτερης περίπτωσης με OpenMP:
#pragma omp atomic
sum++;Δευτέρα, 21 Μαρτίου 2022 - 5:19 μ.μ.
- από τον χρήστηΜία καλή σύνοψη είναι στην απάντηση εδώ:
https://stackoverflow.com/questions/12392278/measure-time-in-linux-time-vs-clock-vs-getrusage-vs-clock-gettime-vs-gettimeof
Στο αρχείο timer.c των παραδειγμάτων, η συνάρτηση get_wtime() χρησιμοποιεί την gettimeofday και επιστρέφει το wall-clock time ως double.
Μια άλλη δυνατή υλοποίηση είναι με χρήση της συνάρτησης clock_gettime().
Παρασκευή, 18 Μαρτίου 2022 - 2:14 μ.μ.
- από τον χρήστηΜε μια μικρή διόρθωση σε έναν συντελεστή (0.2 αντί 0.5) σε σχέση με αυτό που είδαμε στο μάθημα ώστε να δίνει ίδιο αποτέλεσμα.
Οπότε από αυτό εδώ (με 5 εντολές με -O3 και 4 εντολές με -O3 -mfma):
double d = 5.0*a + 10.0*b;
double e = 0.2*(d + c);
Πέμπτη, 17 Μαρτίου 2022 - 12:02 π.μ.
- από τον χρήστηMechanisms, example, references:
https://www.codeproject.com/Tips/4225/Unix-ucontext-t-Operations-on-Windows-Platforms
Examples of user-level thread libraries:
https://www.argobots.org/
https://paragroup.cse.uoi.gr/wpsite/software/psthreads/
Παρασκευή, 5 Μαρτίου 2021 - 5:01 μ.μ.
- από τον χρήστηFirst, you must download the Cygwin installer (setup-x86_64.exe) from here: http://cygwin.com/install.html
Run the Cygwin installer and select/install the necessary software packages.
In general, you need development tools such as the GNU compilers (C/C++), make, openmpi, etc.
For example, to have MPI support you must install everything related to openmpi (you can use the search option of the installer).
In the end, you must be able to execute mpicc and mpirun from the command prompt of Cygwin.
Y
Δημοφιλείς αναρτήσεις
- Cygwin: Unix-like environment for Windows
- State-of-the-art random number generators
- Βελτιστοποίηση κώδικα
- User-level threads
- Atomic Operations
Ιστορικό αναρτήσεων
- 2023 (1)
- 2022 (5)
- 2021 (1)
- Μάρτιος (1)