updated readmes for exercises
This commit is contained in:
		
							parent
							
								
									86e99bb814
								
							
						
					
					
						commit
						af567b80b0
					
				
					 3 changed files with 41 additions and 2 deletions
				
			
		
							
								
								
									
										38
									
								
								exercises/exerciseC/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								exercises/exerciseC/README.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,38 @@ | |||
| # Exercise C: blending processes and threads | ||||
| 
 | ||||
| Objective: investigate how the number of processes and threads impacts the | ||||
| speed-up time of a computation. | ||||
| 
 | ||||
| ## First | ||||
| 
 | ||||
| For each of the 19 images in the folder `images/`, the `process_images.py`: | ||||
| (1) decomposes the image using a singular-value decomposition (SVD), (2) removes the | ||||
| largest singular value and (3) returns the reconstructed image. The script also measures | ||||
| the time for the computation and saves the result in `timings/`. | ||||
| 
 | ||||
| You can change the number of processes and threads on a set of images by calling the function | ||||
| as follows:   | ||||
| ```python process_images.py 3 2 images/*``` | ||||
| The code above will use 3 processes and 2 threads to analyse everything in the folder `images/`. | ||||
| 
 | ||||
| **TASKS**:   | ||||
|  0. Familiarize yourself with the code in `process_images.py`. Where is the number of | ||||
|     threads set in the code? Why is it set there? Where is the number of processes set | ||||
|     in the code?   | ||||
|  1. Hypothesize what would be a good number of processes and threads for this exercise.  | ||||
|  2. Try a couple combinations of processes and threads, look at the saved timings, and see if | ||||
|     the results match your expectations. | ||||
| 
 | ||||
| ## Second | ||||
| 
 | ||||
| This folder also includes a bash script called `run_with_all_configurations.sh`. | ||||
| 
 | ||||
| **TASKS**:   | ||||
|  0. Open the bash script. What does it do?   | ||||
|  1. Execute the bash script in the terminal:   | ||||
|     `bash run_with_all_configurations.sh`   | ||||
|     Observe what's printed to screen. Does it match your expectations? | ||||
|  2. Open `plot.py` and see what it does. Run the script and view the results. Do they | ||||
|     match your expectations? | ||||
|  3. Add the image as a comment to the Pull Request you opened in Exercise A (or make a | ||||
|     new Pull Request if you need one). | ||||
|  | @ -45,7 +45,7 @@ if __name__ == '__main__': | |||
|     # we need to set the variable before numpy is imported! | ||||
|     os.environ['OMP_NUM_THREADS'] = str(n_threads) | ||||
| 
 | ||||
|     # We delay the import of numpy because we want to set OMP_NUM_THREADS. | ||||
|     # We delay the import of numpy because we have to set OMP_NUM_THREADS before import. | ||||
|     # We delay the import of PIL in case it uses numpy internally. | ||||
|     import numpy as np | ||||
|     from PIL import Image | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue