# Parallel Programming Assignment I ## Part 1 ### Q1-1: When `VECTOR_WIDTH` increses, the vector utilization decreases. By my method, it is because when the exponents differnce is too high, which means some elements finish earlier and idle while the others finish later are still computing, if `VECTOR_WIDTH` is too high, the situation will be severer. ## Part 2 ### Q2-2: The speedup is more than 3x. The `float` datatype is 32-bit long and the speedup is more than 3x, so 32 * 4 = 128 bits is a reasonable guess of the bit width of the default vector registers on the PP machines. ### Q2-3 In the original piece of code, we give array `c` some initial values and change them in particular condition, which seems like modifying some elements only; on the contrary using if-else to assign values looks like modifying the whole array, which invokes vectorization in compiler.