27-09-2016, 04:20 PM
1456445208-midtermupdatev01.docx (Size: 54.62 KB / Downloads: 5)
I. OVERALL PROGRESS
While setting up the machine, we split into a team of two each. One group started working on windows OS and the other started on Linux.
A. Current Status
1. Working on Windows OS
● We started with installing Intel SDE 7.31.0 for emulation, Microsoft Visual studio (2012 Premiun Edition) and Intel Compiler (Intel Parallel Studio XE 2016 Cluster Edition) for compilation and execution of benchmarks. To test the set-up, we executed basic benchmarks like system_studio_sample matrix_multiply, aes_sample_windows available on the Intel's website [1] and were successful in the execution.
● We used Intel VTune Amplifier 2016 to analyze the results of executed benchmarks.
● We have decided to use PARSEC 3.0 benchmarks for the project's analysis. Since PARSEC is supported on Linux, and we are working on Windows, we tried importing PARSEC benchmarks into Visual studio to create a *.sln project. For this, we picked a specific package (eg. Matrix multiplication) and tried to import it. But we are unable to do so as the packages are tightly coupled. The problem is not yet resolved.
2. Working on Linux VM:
● Installed Ubuntu (64 bit 14.04.3 LTS) on Virtual machine. Then installed Intel SDE Linux version 7.31.0.
● To test the set-up, we executed basic benchmark like Matmul C Version [2] and were successful in the execution.
● After that, we started executing the benchmark suits PARSEC 3.0 [3] and PARVEC 3.0 [4], [5] for non-vectorized and vectorized scenarios respectively. For executing these, we had to install G++ compiler as well.
● After executing the benchmarks, we intended to use Intel VTune Amplifier for analyzing the results. But unfortunately it is not supported on Linux Virtual Machine. So we had to manually analyze the data. We are still working on finding a solution for this.
3. Experimental Results:
The following benchmarks are executed on Linux Ubuntu 14.04.3 LTS installed on VirtualBox 5.0.8 on Windows host. We executed the following PARSEC and PARVEC benchmarks- Fluidanimate, Vips, x264. We executed the benchmarks on the following processors- Skylake, Sandybridge, Nehalem and Westmere.
1) Complete execution of the benchmarks (both PARSEC and PARVEC) blackscholes, raytrace, swaptions, streamcluster on the processors Skylake, Sandy bridge, Nehalem, Westmere.
2) Execute the benchmarks blackscholes, raytrace, swaptions, fluidanimate, streamcluster, vips and x264 on ivy bridge, haswell and broadwell.
3) Analyze the results using VTune amplifier after resolving issue with integration of VTune amplifier with VM.
4) After analyzing, suggest/implement a possible modification in the processor for making vectorization beneficial which would help in improving the performance of processor (for scenarios where it was not beneficial).
C. On Schedule or not
We are a little behind our schedule because of some unforeseen problems. We have executed benchmarks as mentioned above in the Experimental Results section, whereas we had expected to finish execution of all the benchmark packages common to PARSEC and PARVEC on all the processors listed in the section of Experimental Results.
II. ADJUSTMENTS BASED ON FEEDBACK ON PROJECT PROPOSAL
We have modified the 'Project Proposal' document based on previous comments.
1. Comment 1: Incorrect format- No abstract
We have added an abstract to the updated Project Proposal document.
2. Comment 2: That is how any cache works. It is called taking advantage of spatial locality.
Here, we had meant to write that the processor would “operate on” more than one element of the array at a time and this is how vectorization works.’ But unfortunately we wrote it incorrectly in the proposal. We have updated the proposal ‘section I’ accordingly.
3. Comment 3: Example needed
We have updated the project proposal for the same in ‘section II’.
4. Comment 4: Explanation of implementation.
We had written a brief description of tools and benchmarks that we would be using for our project in the previous version of 'Project Proposal' document.
We have provided an elaborate description of the same as per our current understanding in both, this document as well as modified version of Project Proposal.
III. CHALLENGES FACED
Setting up our machines for the project took a lot of time. Following are few of the challenges we faced. Some of them are already resolved, while we are still working on others.
A. Challenges faced while working on Windows OS
● Resolved issues:
1) We faced many issues in integration of Microsoft Visual Studio (VS), Intel SDE, Intel compiler, VTune amplifier like version compatibility, platform dependence, etc.
2) While running Intel-provided benchmarks, we faced problem about how to select which processor to use for execution. So we first executed it on the underlying architecture only to test VS and compiler integration. We later found out the solution for this issue and were able to select the desired processor.
● Pending issues:
1) For the project analysis, we want to use PARSEC and PARVEC benchmarks. Since PARSEC is supported on Linux, and we are working on Windows, we tried importing PARSEC benchmarks into Visual studio to create a *.sln project. For this, we picked a specific package (eg. Matrix multiplication) and tried to import it. But we are unable to do so as the packages are tightly coupled.
A. Challenges faced while working on Linux VM
● Resolved issues:
1) We faced many issues in integration of tools and were able to resolve them successfully and execute basic benchmark like Matmul.
2) When we tried to build PARSEC benchmark suite, it was not getting built at first. We had to install G++ compiler to resolve this issue.
● Pending issues:
1) VTune Amplifier is not working on Virtual machine. So after executing benchmarks, we had to analyze the data manually. We are working on following solutions to resolve this issue:
-Find some other way to make VTune work on Linux VM
-Check if there is any other tool available that can be used for the analysis.
-Check if VTune on Windows can work to analyze the data after executing benchmarks on Linux VM.
B. General Challenges faced
After analyzing the results of both the benchmark suite, we plan to suggest/implement an improvement which will improve performance of processor. For this, we need to figure out how to make modifications in the processor. This issue is yet to be resolved