├── ReadME.md ├── Week-1 ├── .DS_Store ├── Quiz │ ├── .DS_Store │ ├── 1.png │ ├── 10.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png └── miniproject_1 │ ├── .classpath │ ├── .idea │ ├── compiler.xml │ ├── encodings.xml │ ├── libraries │ │ ├── Maven__classworlds_classworlds_1_1.xml │ │ ├── Maven__com_jcraft_jsch_0_1_27.xml │ │ ├── Maven__commons_cli_commons_cli_1_0.xml │ │ ├── Maven__jtidy_jtidy_4aug2000r7_dev.xml │ │ ├── Maven__junit_junit_3_8_2.xml │ │ ├── Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml │ │ ├── Maven__org_apache_maven_maven_artifact_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_core_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_model_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_monitor_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_api_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_profile_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_project_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_settings_2_0_6.xml │ │ ├── Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml │ │ ├── Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml │ │ ├── Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml │ │ ├── Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml │ │ ├── Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml │ │ ├── Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml │ │ ├── Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml │ │ ├── Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml │ │ └── Maven__xml_apis_xml_apis_1_0_b2.xml │ ├── misc.xml │ ├── modules.xml │ └── workspace.xml │ ├── .project │ ├── .settings │ ├── org.eclipse.core.resources.prefs │ ├── org.eclipse.jdt.core.prefs │ └── org.eclipse.m2e.core.prefs │ ├── hamcrest-core-1.3.jar │ ├── junit-4.12.jar │ ├── miniproject_1.iml │ ├── pcdp-core-0.0.4-SNAPSHOT.jar │ ├── pom.xml │ ├── src │ ├── main │ │ ├── java │ │ │ └── edu │ │ │ │ └── coursera │ │ │ │ └── parallel │ │ │ │ ├── ReciprocalArraySum.java │ │ │ │ └── package-info.java │ │ └── resources │ │ │ └── checkstyle.xml │ └── test │ │ └── java │ │ └── edu │ │ └── coursera │ │ └── parallel │ │ └── ReciprocalArraySumTest.java │ └── target │ ├── classes │ ├── checkstyle.xml │ └── edu │ │ └── coursera │ │ └── parallel │ │ ├── ReciprocalArraySum$ReciprocalArraySumTask.class │ │ └── ReciprocalArraySum.class │ ├── maven-status │ └── maven-compiler-plugin │ │ ├── compile │ │ └── default-compile │ │ │ ├── createdFiles.lst │ │ │ └── inputFiles.lst │ │ └── testCompile │ │ └── default-testCompile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ ├── surefire-reports │ ├── TEST-edu.coursera.parallel.ReciprocalArraySumTest.xml │ └── edu.coursera.parallel.ReciprocalArraySumTest.txt │ └── test-classes │ └── edu │ └── coursera │ └── parallel │ └── ReciprocalArraySumTest.class ├── Week-2 ├── .DS_Store ├── Quiz │ ├── .DS_Store │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ └── 5.png └── miniproject_2 │ ├── .idea │ ├── compiler.xml │ ├── encodings.xml │ ├── libraries │ │ ├── Maven__classworlds_classworlds_1_1.xml │ │ ├── Maven__com_jcraft_jsch_0_1_27.xml │ │ ├── Maven__commons_cli_commons_cli_1_0.xml │ │ ├── Maven__jtidy_jtidy_4aug2000r7_dev.xml │ │ ├── Maven__junit_junit_3_8_2.xml │ │ ├── Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml │ │ ├── Maven__org_apache_maven_maven_artifact_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_core_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_model_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_monitor_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_api_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_profile_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_project_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_settings_2_0_6.xml │ │ ├── Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml │ │ ├── Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml │ │ ├── Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml │ │ ├── Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml │ │ ├── Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml │ │ ├── Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml │ │ ├── Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml │ │ ├── Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml │ │ └── Maven__xml_apis_xml_apis_1_0_b2.xml │ ├── misc.xml │ ├── modules.xml │ └── workspace.xml │ ├── hamcrest-core-1.3.jar │ ├── junit-4.12.jar │ ├── miniproject_2.iml │ ├── pcdp-core-0.0.4-SNAPSHOT.jar │ ├── pom.xml │ ├── src │ ├── main │ │ ├── java │ │ │ └── edu │ │ │ │ └── coursera │ │ │ │ └── parallel │ │ │ │ ├── Student.java │ │ │ │ ├── StudentAnalytics.java │ │ │ │ └── package-info.java │ │ └── resources │ │ │ └── checkstyle.xml │ └── test │ │ └── java │ │ └── edu │ │ └── coursera │ │ └── parallel │ │ └── StudentAnalyticsTest.java │ └── target │ ├── classes │ ├── checkstyle.xml │ └── edu │ │ └── coursera │ │ └── parallel │ │ ├── Student.class │ │ └── StudentAnalytics.class │ ├── maven-status │ └── maven-compiler-plugin │ │ ├── compile │ │ └── default-compile │ │ │ ├── createdFiles.lst │ │ │ └── inputFiles.lst │ │ └── testCompile │ │ └── default-testCompile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ ├── surefire-reports │ ├── TEST-edu.coursera.parallel.StudentAnalyticsTest.xml │ └── edu.coursera.parallel.StudentAnalyticsTest.txt │ └── test-classes │ └── edu │ └── coursera │ └── parallel │ └── StudentAnalyticsTest.class ├── Week-3 ├── .DS_Store ├── Quiz │ ├── .DS_Store │ ├── Screen Shot 2018-01-05 at 1.10.20 PM.png │ ├── Screen Shot 2018-01-05 at 12.52.56 PM.png │ ├── Screen Shot 2018-01-05 at 12.52.59 PM.png │ ├── Screen Shot 2018-01-05 at 12.53.03 PM.png │ ├── Screen Shot 2018-01-05 at 12.53.07 PM.png │ ├── Screen Shot 2018-01-05 at 12.53.11 PM.png │ └── Screen Shot 2018-01-05 at 12.53.15 PM.png └── miniproject_3 │ ├── .idea │ ├── compiler.xml │ ├── encodings.xml │ ├── libraries │ │ ├── Maven__classworlds_classworlds_1_1.xml │ │ ├── Maven__com_jcraft_jsch_0_1_27.xml │ │ ├── Maven__commons_cli_commons_cli_1_0.xml │ │ ├── Maven__edu_rice_pcdp_pcdp_core_0_0_4_SNAPSHOT.xml │ │ ├── Maven__jtidy_jtidy_4aug2000r7_dev.xml │ │ ├── Maven__junit_junit_3_8_2.xml │ │ ├── Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml │ │ ├── Maven__org_apache_maven_maven_artifact_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_core_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_model_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_monitor_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_api_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_profile_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_project_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml │ │ ├── Maven__org_apache_maven_maven_settings_2_0_6.xml │ │ ├── Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml │ │ ├── Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml │ │ ├── Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml │ │ ├── Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml │ │ ├── Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml │ │ ├── Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml │ │ ├── Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml │ │ ├── Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml │ │ ├── Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml │ │ └── Maven__xml_apis_xml_apis_1_0_b2.xml │ ├── misc.xml │ ├── modules.xml │ └── workspace.xml │ ├── hamcrest-core-1.3.jar │ ├── junit-4.12.jar │ ├── miniproject_3.iml │ ├── pcdp-core-0.0.4-SNAPSHOT.jar │ ├── pom.xml │ ├── src │ ├── main │ │ ├── java │ │ │ └── edu │ │ │ │ └── coursera │ │ │ │ └── parallel │ │ │ │ ├── MatrixMultiply.java │ │ │ │ └── package-info.java │ │ └── resources │ │ │ └── checkstyle.xml │ └── test │ │ └── java │ │ └── edu │ │ └── coursera │ │ └── parallel │ │ └── MatrixMultiplyTest.java │ └── target │ ├── classes │ ├── checkstyle.xml │ └── edu │ │ └── coursera │ │ └── parallel │ │ └── MatrixMultiply.class │ ├── maven-status │ └── maven-compiler-plugin │ │ ├── compile │ │ └── default-compile │ │ │ ├── createdFiles.lst │ │ │ └── inputFiles.lst │ │ └── testCompile │ │ └── default-testCompile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ ├── surefire-reports │ ├── TEST-edu.coursera.parallel.MatrixMultiplyTest.xml │ └── edu.coursera.parallel.MatrixMultiplyTest.txt │ └── test-classes │ └── edu │ └── coursera │ └── parallel │ └── MatrixMultiplyTest.class └── Week-4 ├── .DS_Store ├── Quiz ├── .DS_Store ├── Screen Shot 2018-01-11 at 5.03.48 AM.png ├── Screen Shot 2018-01-11 at 5.04.51 AM.png ├── Screen Shot 2018-01-11 at 5.07.20 AM.png ├── Screen Shot 2018-01-11 at 5.19.32 AM.png ├── Screen Shot 2018-01-11 at 5.24.56 AM.png ├── Screen Shot 2018-01-11 at 5.25.02 AM.png ├── Screen Shot 2018-01-11 at 5.25.05 AM.png ├── Screen Shot 2018-01-11 at 5.25.33 AM.png ├── Screen Shot 2018-01-11 at 5.25.41 AM.png └── Screen Shot 2018-01-11 at 5.25.50 AM.png └── miniproject_4 ├── .idea ├── compiler.xml ├── encodings.xml ├── libraries │ ├── Maven__classworlds_classworlds_1_1.xml │ ├── Maven__com_jcraft_jsch_0_1_27.xml │ ├── Maven__commons_cli_commons_cli_1_0.xml │ ├── Maven__jtidy_jtidy_4aug2000r7_dev.xml │ ├── Maven__junit_junit_3_8_2.xml │ ├── Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml │ ├── Maven__org_apache_maven_maven_artifact_2_0_6.xml │ ├── Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml │ ├── Maven__org_apache_maven_maven_core_2_0_6.xml │ ├── Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml │ ├── Maven__org_apache_maven_maven_model_2_0_6.xml │ ├── Maven__org_apache_maven_maven_monitor_2_0_6.xml │ ├── Maven__org_apache_maven_maven_plugin_api_2_0_6.xml │ ├── Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml │ ├── Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml │ ├── Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml │ ├── Maven__org_apache_maven_maven_profile_2_0_6.xml │ ├── Maven__org_apache_maven_maven_project_2_0_6.xml │ ├── Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml │ ├── Maven__org_apache_maven_maven_settings_2_0_6.xml │ ├── Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml │ ├── Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml │ ├── Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml │ ├── Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml │ ├── Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml │ ├── Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml │ ├── Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml │ ├── Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml │ ├── Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml │ ├── Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml │ ├── Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml │ ├── Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml │ ├── Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml │ ├── Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml │ ├── Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml │ └── Maven__xml_apis_xml_apis_1_0_b2.xml ├── misc.xml ├── modules.xml └── workspace.xml ├── hamcrest-core-1.3.jar ├── junit-4.12.jar ├── miniproject_4.iml ├── pcdp-core-0.0.4-SNAPSHOT.jar ├── pom.xml ├── src ├── main │ ├── java │ │ └── edu │ │ │ └── coursera │ │ │ └── parallel │ │ │ ├── OneDimAveragingPhaser.java │ │ │ └── package-info.java │ └── resources │ │ └── checkstyle.xml └── test │ └── java │ └── edu │ └── coursera │ └── parallel │ └── OneDimAveragingPhaserTest.java └── target ├── classes ├── checkstyle.xml └── edu │ └── coursera │ └── parallel │ └── OneDimAveragingPhaser.class ├── maven-status └── maven-compiler-plugin │ ├── compile │ └── default-compile │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ └── testCompile │ └── default-testCompile │ ├── createdFiles.lst │ └── inputFiles.lst └── test-classes └── edu └── coursera └── parallel └── OneDimAveragingPhaserTest.class /ReadME.md: -------------------------------------------------------------------------------- 1 | ## Parallel Programming in JAVA Coursera 2 | 3 | [![HitCount](http://hits.dwyl.com/techytoes/Parallel-Programming-Coursera.svg)](http://hits.dwyl.com/techytoes/Parallel-Programming-Coursera) 4 | 5 | This repository contains all the assignments and Quizzes submitted by me. 6 | 7 | * #### ⭐️Star this repo if you find this helpful as a little token of appreciation for my work. 8 | -------------------------------------------------------------------------------- /Week-1/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/.DS_Store -------------------------------------------------------------------------------- /Week-1/Quiz/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/.DS_Store -------------------------------------------------------------------------------- /Week-1/Quiz/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/1.png -------------------------------------------------------------------------------- /Week-1/Quiz/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/10.png -------------------------------------------------------------------------------- /Week-1/Quiz/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/2.png -------------------------------------------------------------------------------- /Week-1/Quiz/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/3.png -------------------------------------------------------------------------------- /Week-1/Quiz/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/4.png -------------------------------------------------------------------------------- /Week-1/Quiz/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/5.png -------------------------------------------------------------------------------- /Week-1/Quiz/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/6.png -------------------------------------------------------------------------------- /Week-1/Quiz/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/7.png -------------------------------------------------------------------------------- /Week-1/Quiz/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/8.png -------------------------------------------------------------------------------- /Week-1/Quiz/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/Quiz/9.png -------------------------------------------------------------------------------- /Week-1/miniproject_1/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__classworlds_classworlds_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__com_jcraft_jsch_0_1_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__commons_cli_commons_cli_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__jtidy_jtidy_4aug2000r7_dev.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__junit_junit_3_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_artifact_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_core_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_model_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_monitor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_profile_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_project_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_maven_settings_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | miniproject_1 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | org.eclipse.m2e.core.maven2Builder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.jdt.core.javanature 21 | org.eclipse.m2e.core.maven2Nature 22 | 23 | 24 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//src/main/java=UTF-8 3 | encoding//src/main/resources=UTF-8 4 | encoding//src/test/java=UTF-8 5 | encoding/=UTF-8 6 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 3 | org.eclipse.jdt.core.compiler.compliance=1.8 4 | org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning 5 | org.eclipse.jdt.core.compiler.source=1.8 6 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/.settings/org.eclipse.m2e.core.prefs: -------------------------------------------------------------------------------- 1 | activeProfiles= 2 | eclipse.preferences.version=1 3 | resolveWorkspaceProjects=true 4 | version=1 5 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/hamcrest-core-1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/miniproject_1/hamcrest-core-1.3.jar -------------------------------------------------------------------------------- /Week-1/miniproject_1/junit-4.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/miniproject_1/junit-4.12.jar -------------------------------------------------------------------------------- /Week-1/miniproject_1/miniproject_1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/pcdp-core-0.0.4-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/miniproject_1/pcdp-core-0.0.4-SNAPSHOT.jar -------------------------------------------------------------------------------- /Week-1/miniproject_1/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 4.0.0 5 | edu.coursera.parallel 6 | miniproject_1 7 | jar 8 | 0.0 9 | miniproject_1 10 | 11 | 12 | UTF-8 13 | 14 | 15 | 16 | 17 | org.apache.maven.plugins 18 | maven-resources-plugin 19 | 2.4.3 20 | 21 | 22 | junit 23 | junit 24 | 3.8.2 25 | test 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | org.apache.maven.plugins 35 | maven-compiler-plugin 36 | 3.1 37 | 38 | 1.8 39 | 1.8 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-dependency-plugin 46 | 2.9 47 | 48 | 49 | 50 | properties 51 | 52 | 53 | 54 | 55 | 56 | 57 | org.apache.maven.plugins 58 | maven-surefire-plugin 59 | 2.17 60 | 61 | pertest 62 | -Xmx4g 63 | true 64 | true 65 | 66 | 67 | 68 | org.apache.maven.plugins 69 | maven-checkstyle-plugin 70 | 2.17 71 | 72 | 73 | checkstyle 74 | validate 75 | 76 | ${basedir}/src/main/resources/checkstyle.xml 77 | UTF-8 78 | true 79 | true 80 | true 81 | 82 | 83 | check 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/src/main/java/edu/coursera/parallel/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Source code from the Java Parallel Programming Coursera course. 3 | */ 4 | package edu.coursera.parallel; 5 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/classes/edu/coursera/parallel/ReciprocalArraySum$ReciprocalArraySumTask.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/miniproject_1/target/classes/edu/coursera/parallel/ReciprocalArraySum$ReciprocalArraySumTask.class -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/classes/edu/coursera/parallel/ReciprocalArraySum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/miniproject_1/target/classes/edu/coursera/parallel/ReciprocalArraySum.class -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/ReciprocalArraySum$ReciprocalArraySumTask.class 2 | edu/coursera/parallel/ReciprocalArraySum.class 3 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_1/src/main/java/edu/coursera/parallel/ReciprocalArraySum.java 2 | /Users/rupeshharode/Downloads/miniproject_1/src/main/java/edu/coursera/parallel/package-info.java 3 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/ReciprocalArraySumTest.class 2 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_1/src/test/java/edu/coursera/parallel/ReciprocalArraySumTest.java 2 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/surefire-reports/edu.coursera.parallel.ReciprocalArraySumTest.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------- 2 | Test set: edu.coursera.parallel.ReciprocalArraySumTest 3 | ------------------------------------------------------------------------------- 4 | Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 83.727 sec <<< FAILURE! - in edu.coursera.parallel.ReciprocalArraySumTest 5 | testParManyTaskTwoMillion(edu.coursera.parallel.ReciprocalArraySumTest) Time elapsed: 0.517 sec <<< FAILURE! 6 | junit.framework.AssertionFailedError: It was expected that the many-task parallel implementation would run at least 2.400000x faster, but it only achieved 2.000000x speedup 7 | at junit.framework.Assert.fail(Assert.java:47) 8 | at junit.framework.Assert.assertTrue(Assert.java:20) 9 | at edu.coursera.parallel.ReciprocalArraySumTest.testParManyTaskTwoMillion(ReciprocalArraySumTest.java:143) 10 | 11 | testParManyTaskTwoHundredMillion(edu.coursera.parallel.ReciprocalArraySumTest) Time elapsed: 41.123 sec <<< FAILURE! 12 | junit.framework.AssertionFailedError: It was expected that the many-task parallel implementation would run at least 3.200000x faster, but it only achieved 2.025126x speedup 13 | at junit.framework.Assert.fail(Assert.java:47) 14 | at junit.framework.Assert.assertTrue(Assert.java:20) 15 | at edu.coursera.parallel.ReciprocalArraySumTest.testParManyTaskTwoHundredMillion(ReciprocalArraySumTest.java:155) 16 | 17 | -------------------------------------------------------------------------------- /Week-1/miniproject_1/target/test-classes/edu/coursera/parallel/ReciprocalArraySumTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-1/miniproject_1/target/test-classes/edu/coursera/parallel/ReciprocalArraySumTest.class -------------------------------------------------------------------------------- /Week-2/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/.DS_Store -------------------------------------------------------------------------------- /Week-2/Quiz/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/Quiz/.DS_Store -------------------------------------------------------------------------------- /Week-2/Quiz/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/Quiz/1.png -------------------------------------------------------------------------------- /Week-2/Quiz/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/Quiz/2.png -------------------------------------------------------------------------------- /Week-2/Quiz/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/Quiz/3.png -------------------------------------------------------------------------------- /Week-2/Quiz/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/Quiz/4.png -------------------------------------------------------------------------------- /Week-2/Quiz/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/Quiz/5.png -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__classworlds_classworlds_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__com_jcraft_jsch_0_1_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__commons_cli_commons_cli_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__jtidy_jtidy_4aug2000r7_dev.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__junit_junit_3_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_artifact_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_core_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_model_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_monitor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_profile_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_project_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_maven_settings_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/hamcrest-core-1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/miniproject_2/hamcrest-core-1.3.jar -------------------------------------------------------------------------------- /Week-2/miniproject_2/junit-4.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/miniproject_2/junit-4.12.jar -------------------------------------------------------------------------------- /Week-2/miniproject_2/miniproject_2.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/pcdp-core-0.0.4-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/miniproject_2/pcdp-core-0.0.4-SNAPSHOT.jar -------------------------------------------------------------------------------- /Week-2/miniproject_2/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 4.0.0 5 | edu.coursera.parallel 6 | miniproject_2 7 | jar 8 | 0.0 9 | miniproject_2 10 | 11 | 12 | UTF-8 13 | 14 | 15 | 16 | 17 | org.apache.maven.plugins 18 | maven-resources-plugin 19 | 2.4.3 20 | 21 | 22 | junit 23 | junit 24 | 4.13.1 25 | test 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | org.apache.maven.plugins 35 | maven-compiler-plugin 36 | 3.1 37 | 38 | 1.8 39 | 1.8 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-dependency-plugin 46 | 2.9 47 | 48 | 49 | 50 | properties 51 | 52 | 53 | 54 | 55 | 56 | 57 | org.apache.maven.plugins 58 | maven-surefire-plugin 59 | 2.17 60 | 61 | pertest 62 | -Xmx4g 63 | true 64 | true 65 | 66 | 67 | 68 | org.apache.maven.plugins 69 | maven-checkstyle-plugin 70 | 2.17 71 | 72 | 73 | checkstyle 74 | validate 75 | 76 | ${basedir}/src/main/resources/checkstyle.xml 77 | UTF-8 78 | true 79 | true 80 | true 81 | 82 | 83 | check 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/src/main/java/edu/coursera/parallel/Student.java: -------------------------------------------------------------------------------- 1 | package edu.coursera.parallel; 2 | 3 | /** 4 | * A class representing a single student in a single class. 5 | */ 6 | public final class Student { 7 | /** 8 | * First name of the student. 9 | */ 10 | private final String firstName; 11 | /** 12 | * Surname of the student. 13 | */ 14 | private final String lastName; 15 | /** 16 | * Age of the student. 17 | */ 18 | private final double age; 19 | /** 20 | * Grade the student has received in the class so far. 21 | */ 22 | private final int grade; 23 | /** 24 | * Whether the student is currently enrolled, or has already completed the 25 | * course. 26 | */ 27 | private final boolean isCurrent; 28 | 29 | /** 30 | * Constructor. 31 | * @param setFirstName Student first name 32 | * @param setLastName Student last name 33 | * @param setAge Student age 34 | * @param setGrade Student grade in course 35 | * @param setIsCurrent Student currently enrolled? 36 | */ 37 | public Student(final String setFirstName, final String setLastName, 38 | final double setAge, final int setGrade, 39 | final boolean setIsCurrent) { 40 | this.firstName = setFirstName; 41 | this.lastName = setLastName; 42 | this.age = setAge; 43 | this.grade = setGrade; 44 | this.isCurrent = setIsCurrent; 45 | } 46 | 47 | /** 48 | * Get the first name of this student. 49 | * @return The student's first name. 50 | */ 51 | public String getFirstName() { 52 | return firstName; 53 | } 54 | 55 | /** 56 | * Get the last name of this student. 57 | * @return The student's last name. 58 | */ 59 | public String getLastName() { 60 | return lastName; 61 | } 62 | 63 | /** 64 | * Get the age of this student. 65 | * @return The student's age. 66 | */ 67 | public double getAge() { 68 | return age; 69 | } 70 | 71 | /** 72 | * Get the grade this student has achieved in this course so far. 73 | * @return The student's current grade. 74 | */ 75 | public int getGrade() { 76 | return grade; 77 | } 78 | 79 | /** 80 | * Check if this student is active, or has taken the course in the past. 81 | * @return true if the student is currently enrolled, false otherwise 82 | */ 83 | public boolean checkIsCurrent() { 84 | return isCurrent; 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/src/main/java/edu/coursera/parallel/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Source code from the Java Parallel Programming Coursera course. 3 | */ 4 | package edu.coursera.parallel; 5 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/classes/edu/coursera/parallel/Student.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/miniproject_2/target/classes/edu/coursera/parallel/Student.class -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/classes/edu/coursera/parallel/StudentAnalytics.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/miniproject_2/target/classes/edu/coursera/parallel/StudentAnalytics.class -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/StudentAnalytics.class 2 | edu/coursera/parallel/Student.class 3 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_2/src/main/java/edu/coursera/parallel/package-info.java 2 | /Users/rupeshharode/Downloads/miniproject_2/src/main/java/edu/coursera/parallel/StudentAnalytics.java 3 | /Users/rupeshharode/Downloads/miniproject_2/src/main/java/edu/coursera/parallel/Student.java 4 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/StudentAnalyticsTest.class 2 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_2/src/test/java/edu/coursera/parallel/StudentAnalyticsTest.java 2 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/surefire-reports/edu.coursera.parallel.StudentAnalyticsTest.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------- 2 | Test set: edu.coursera.parallel.StudentAnalyticsTest 3 | ------------------------------------------------------------------------------- 4 | Tests run: 6, Failures: 1, Errors: 2, Skipped: 0, Time elapsed: 6.165 sec <<< FAILURE! - in edu.coursera.parallel.StudentAnalyticsTest 5 | testMostCommonFirstNameOfInactiveStudents(edu.coursera.parallel.StudentAnalyticsTest) Time elapsed: 1.079 sec <<< ERROR! 6 | java.lang.UnsupportedOperationException 7 | at edu.coursera.parallel.StudentAnalytics.mostCommonFirstNameOfInactiveStudentsParallelStream(StudentAnalytics.java:123) 8 | at edu.coursera.parallel.StudentAnalyticsTest.mostCommonFirstNameOfInactiveStudentsHelper(StudentAnalyticsTest.java:96) 9 | at edu.coursera.parallel.StudentAnalyticsTest.testMostCommonFirstNameOfInactiveStudents(StudentAnalyticsTest.java:112) 10 | 11 | testMostCommonFirstNameOfInactiveStudentsPerf(edu.coursera.parallel.StudentAnalyticsTest) Time elapsed: 2.367 sec <<< ERROR! 12 | java.lang.UnsupportedOperationException 13 | at edu.coursera.parallel.StudentAnalytics.mostCommonFirstNameOfInactiveStudentsParallelStream(StudentAnalytics.java:123) 14 | at edu.coursera.parallel.StudentAnalyticsTest.mostCommonFirstNameOfInactiveStudentsHelper(StudentAnalyticsTest.java:96) 15 | at edu.coursera.parallel.StudentAnalyticsTest.testMostCommonFirstNameOfInactiveStudentsPerf(StudentAnalyticsTest.java:120) 16 | 17 | testCountNumberOfFailedStudentsOlderThan20Perf(edu.coursera.parallel.StudentAnalyticsTest) Time elapsed: 0.917 sec <<< FAILURE! 18 | junit.framework.AssertionFailedError: Expected parallel version to run at least 1.2x faster but speedup was 0.6740088105726872 19 | at junit.framework.Assert.fail(Assert.java:47) 20 | at junit.framework.Assert.assertTrue(Assert.java:20) 21 | at edu.coursera.parallel.StudentAnalyticsTest.testCountNumberOfFailedStudentsOlderThan20Perf(StudentAnalyticsTest.java:165) 22 | 23 | -------------------------------------------------------------------------------- /Week-2/miniproject_2/target/test-classes/edu/coursera/parallel/StudentAnalyticsTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-2/miniproject_2/target/test-classes/edu/coursera/parallel/StudentAnalyticsTest.class -------------------------------------------------------------------------------- /Week-3/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/.DS_Store -------------------------------------------------------------------------------- /Week-3/Quiz/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/.DS_Store -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 1.10.20 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 1.10.20 PM.png -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 12.52.56 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 12.52.56 PM.png -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 12.52.59 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 12.52.59 PM.png -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.03 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.03 PM.png -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.07 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.07 PM.png -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.11 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.11 PM.png -------------------------------------------------------------------------------- /Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.15 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/Quiz/Screen Shot 2018-01-05 at 12.53.15 PM.png -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__classworlds_classworlds_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__com_jcraft_jsch_0_1_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__commons_cli_commons_cli_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__edu_rice_pcdp_pcdp_core_0_0_4_SNAPSHOT.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__jtidy_jtidy_4aug2000r7_dev.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__junit_junit_3_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_artifact_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_core_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_model_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_monitor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_profile_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_project_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_maven_settings_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/hamcrest-core-1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/miniproject_3/hamcrest-core-1.3.jar -------------------------------------------------------------------------------- /Week-3/miniproject_3/junit-4.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/miniproject_3/junit-4.12.jar -------------------------------------------------------------------------------- /Week-3/miniproject_3/miniproject_3.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/pcdp-core-0.0.4-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/miniproject_3/pcdp-core-0.0.4-SNAPSHOT.jar -------------------------------------------------------------------------------- /Week-3/miniproject_3/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 4.0.0 5 | edu.coursera.parallel 6 | miniproject_3 7 | jar 8 | 0.0 9 | miniproject_3 10 | 11 | 12 | 0.0.4-SNAPSHOT 13 | UTF-8 14 | 15 | 16 | 17 | 18 | pcdp-repo 19 | https://raw.github.com/habanero-maven/hjlib-maven-repo/mvn-repo-pcdp-${pcdp.version}/ 20 | 21 | true 22 | always 23 | 24 | 25 | 26 | 27 | 28 | 29 | org.apache.maven.plugins 30 | maven-resources-plugin 31 | 2.4.3 32 | 33 | 34 | edu.rice.pcdp 35 | pcdp-core 36 | ${pcdp.version} 37 | 38 | 39 | junit 40 | junit 41 | 3.8.2 42 | test 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | org.apache.maven.plugins 52 | maven-compiler-plugin 53 | 3.1 54 | 55 | 1.8 56 | 1.8 57 | 58 | 59 | 60 | 61 | org.apache.maven.plugins 62 | maven-dependency-plugin 63 | 2.9 64 | 65 | 66 | 67 | properties 68 | 69 | 70 | 71 | 72 | 73 | 74 | org.apache.maven.plugins 75 | maven-surefire-plugin 76 | 2.17 77 | 78 | pertest 79 | -Xmx4g 80 | true 81 | true 82 | 83 | 84 | 85 | org.apache.maven.plugins 86 | maven-checkstyle-plugin 87 | 2.17 88 | 89 | 90 | checkstyle 91 | validate 92 | 93 | ${basedir}/src/main/resources/checkstyle.xml 94 | UTF-8 95 | true 96 | true 97 | true 98 | 99 | 100 | check 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/src/main/java/edu/coursera/parallel/MatrixMultiply.java: -------------------------------------------------------------------------------- 1 | package edu.coursera.parallel; 2 | 3 | import static edu.rice.pcdp.PCDP.*; 4 | 5 | /** 6 | * Wrapper class for implementing matrix multiply efficiently in parallel. 7 | */ 8 | public final class MatrixMultiply { 9 | /** 10 | * Default constructor. 11 | */ 12 | private MatrixMultiply() { 13 | } 14 | 15 | /** 16 | * Perform a two-dimensional matrix multiply (A x B = C) sequentially. 17 | * 18 | * @param A An input matrix with dimensions NxN 19 | * @param B An input matrix with dimensions NxN 20 | * @param C The output matrix 21 | * @param N Size of each dimension of the input matrices 22 | */ 23 | public static void seqMatrixMultiply(final double[][] A, final double[][] B, 24 | final double[][] C, final int N) { 25 | forseq2d(0, N - 1, 0, N - 1, (i, j) -> { 26 | C[i][j] = 0.0; 27 | for (int k = 0; k < N; k++) { 28 | C[i][j] += A[i][k] * B[k][j]; 29 | } 30 | }); 31 | } 32 | 33 | /** 34 | * Perform a two-dimensional matrix multiply (A x B = C) in parallel. 35 | * 36 | * @param A An input matrix with dimensions NxN 37 | * @param B An input matrix with dimensions NxN 38 | * @param C The output matrix 39 | * @param N Size of each dimension of the input matrices 40 | */ 41 | public static void parMatrixMultiply(final double[][] A, final double[][] B, 42 | final double[][] C, final int N) { 43 | /* 44 | * TODO Parallelize this outermost two-dimension sequential loop to 45 | * achieve performance improvement. 46 | */ 47 | forall2dChunked(0, N - 1, 0, N - 1, (i, j) -> 48 | { 49 | C[i][j] = 0.0; 50 | for (int k = 0; k < N; k++) { 51 | C[i][j] += A[i][k] * B[k][j]; 52 | } 53 | }); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/src/main/java/edu/coursera/parallel/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Source code from the Java Parallel Programming Coursera course. 3 | */ 4 | package edu.coursera.parallel; 5 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/src/test/java/edu/coursera/parallel/MatrixMultiplyTest.java: -------------------------------------------------------------------------------- 1 | package edu.coursera.parallel; 2 | 3 | import java.util.Random; 4 | 5 | import junit.framework.TestCase; 6 | 7 | public class MatrixMultiplyTest extends TestCase { 8 | // Number of times to repeat each test, for consistent timing results. 9 | final static private int REPEATS = 20; 10 | 11 | private static int getNCores() { 12 | String ncoresStr = System.getenv("COURSERA_GRADER_NCORES"); 13 | if (ncoresStr == null) { 14 | return Runtime.getRuntime().availableProcessors(); 15 | } else { 16 | return Integer.parseInt(ncoresStr); 17 | } 18 | } 19 | 20 | /** 21 | * Create a double[] of length N to use as input for the tests. 22 | * 23 | * @param N Size of the array to create 24 | * @return Initialized double array of length N 25 | */ 26 | private double[][] createMatrix(final int N) { 27 | final double[][] input = new double[N][N]; 28 | final Random rand = new Random(314); 29 | 30 | for (int i = 0; i < N; i++) { 31 | for (int j = 0; j < N; j++) { 32 | input[i][j] = rand.nextInt(100); 33 | } 34 | } 35 | 36 | return input; 37 | } 38 | 39 | /** 40 | * Check if there is any difference in the correct and generated outputs. 41 | */ 42 | private void checkResult(final double[][] ref, final double[][] output, final int N) { 43 | for (int i = 0; i < N; i++) { 44 | for (int j = 0; j < N; j++) { 45 | String msg = "Error detected on cell (" + i + ", " + j + ")"; 46 | assertEquals(msg, ref[i][j], output[i][j]); 47 | } 48 | } 49 | } 50 | 51 | /** 52 | * A reference implementation of seqMatrixMultiply, in case the one in the main source file is accidentally 53 | * modified. 54 | */ 55 | public void seqMatrixMultiply(final double[][] A, final double[][] B, final double[][] C, final int N) { 56 | for (int i = 0; i < N; i++) { 57 | for (int j = 0; j < N; j++) { 58 | C[i][j] = 0.0; 59 | for (int k = 0; k < N; k++) { 60 | C[i][j] += A[i][k] * B[k][j]; 61 | } 62 | } 63 | } 64 | } 65 | 66 | /** 67 | * A helper function for tests of the two-task parallel implementation. 68 | * 69 | * @param N The size of the array to test 70 | * @return The speedup achieved, not all tests use this information 71 | */ 72 | private double parTestHelper(final int N) { 73 | // Create a random input 74 | final double[][] A = createMatrix(N); 75 | final double[][] B = createMatrix(N); 76 | final double[][] C = new double[N][N]; 77 | final double[][] refC = new double[N][N]; 78 | 79 | // Use a reference sequential version to compute the correct result 80 | seqMatrixMultiply(A, B, refC, N); 81 | 82 | // Use the parallel implementation to compute the result 83 | MatrixMultiply.parMatrixMultiply(A, B, C, N); 84 | 85 | checkResult(refC, C, N); 86 | 87 | /* 88 | * Run several repeats of the sequential and parallel versions to get an accurate measurement of parallel 89 | * performance. 90 | */ 91 | final long seqStartTime = System.currentTimeMillis(); 92 | for (int r = 0; r < REPEATS; r++) { 93 | seqMatrixMultiply(A, B, C, N); 94 | } 95 | final long seqEndTime = System.currentTimeMillis(); 96 | 97 | final long parStartTime = System.currentTimeMillis(); 98 | for (int r = 0; r < REPEATS; r++) { 99 | MatrixMultiply.parMatrixMultiply(A, B, C, N); 100 | } 101 | final long parEndTime = System.currentTimeMillis(); 102 | 103 | final long seqTime = (seqEndTime - seqStartTime) / REPEATS; 104 | final long parTime = (parEndTime - parStartTime) / REPEATS; 105 | 106 | return (double)seqTime / (double)parTime; 107 | } 108 | 109 | /** 110 | * Tests the performance of the parallel implementation on a 512x512 matrix. 111 | */ 112 | public void testPar512_x_512() { 113 | final int ncores = getNCores(); 114 | double speedup = parTestHelper(512); 115 | double minimalExpectedSpeedup = (double)ncores * 0.6; 116 | final String errMsg = String.format("It was expected that the parallel implementation would run at " + 117 | "least %fx faster, but it only achieved %fx speedup", minimalExpectedSpeedup, speedup); 118 | assertTrue(errMsg, speedup >= minimalExpectedSpeedup); 119 | } 120 | 121 | /** 122 | * Tests the performance of the parallel implementation on a 768x768 matrix. 123 | */ 124 | public void testPar768_x_768() { 125 | final int ncores = getNCores(); 126 | double speedup = parTestHelper(768); 127 | double minimalExpectedSpeedup = (double)ncores * 0.6; 128 | final String errMsg = String.format("It was expected that the parallel implementation would run at " + 129 | "least %fx faster, but it only achieved %fx speedup", minimalExpectedSpeedup, speedup); 130 | assertTrue(errMsg, speedup >= minimalExpectedSpeedup); 131 | } 132 | } 133 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/classes/edu/coursera/parallel/MatrixMultiply.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/miniproject_3/target/classes/edu/coursera/parallel/MatrixMultiply.class -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/MatrixMultiply.class 2 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_3/src/main/java/edu/coursera/parallel/MatrixMultiply.java 2 | /Users/rupeshharode/Downloads/miniproject_3/src/main/java/edu/coursera/parallel/package-info.java 3 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/MatrixMultiplyTest.class 2 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_3/src/test/java/edu/coursera/parallel/MatrixMultiplyTest.java 2 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/surefire-reports/TEST-edu.coursera.parallel.MatrixMultiplyTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | junit.framework.AssertionFailedError: It was expected that the parallel implementation would run at least 2.400000x faster, but it only achieved 1.790000x speedup 70 | at junit.framework.Assert.fail(Assert.java:47) 71 | at junit.framework.Assert.assertTrue(Assert.java:20) 72 | at edu.coursera.parallel.MatrixMultiplyTest.testPar512_x_512(MatrixMultiplyTest.java:118) 73 | 74 | 75 | 76 | junit.framework.AssertionFailedError: It was expected that the parallel implementation would run at least 2.400000x faster, but it only achieved 1.594697x speedup 77 | at junit.framework.Assert.fail(Assert.java:47) 78 | at junit.framework.Assert.assertTrue(Assert.java:20) 79 | at edu.coursera.parallel.MatrixMultiplyTest.testPar768_x_768(MatrixMultiplyTest.java:130) 80 | 81 | 82 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/surefire-reports/edu.coursera.parallel.MatrixMultiplyTest.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------- 2 | Test set: edu.coursera.parallel.MatrixMultiplyTest 3 | ------------------------------------------------------------------------------- 4 | Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 137.316 sec <<< FAILURE! - in edu.coursera.parallel.MatrixMultiplyTest 5 | testPar512_x_512(edu.coursera.parallel.MatrixMultiplyTest) Time elapsed: 23.347 sec <<< FAILURE! 6 | junit.framework.AssertionFailedError: It was expected that the parallel implementation would run at least 2.400000x faster, but it only achieved 1.790000x speedup 7 | at junit.framework.Assert.fail(Assert.java:47) 8 | at junit.framework.Assert.assertTrue(Assert.java:20) 9 | at edu.coursera.parallel.MatrixMultiplyTest.testPar512_x_512(MatrixMultiplyTest.java:118) 10 | 11 | testPar768_x_768(edu.coursera.parallel.MatrixMultiplyTest) Time elapsed: 113.921 sec <<< FAILURE! 12 | junit.framework.AssertionFailedError: It was expected that the parallel implementation would run at least 2.400000x faster, but it only achieved 1.594697x speedup 13 | at junit.framework.Assert.fail(Assert.java:47) 14 | at junit.framework.Assert.assertTrue(Assert.java:20) 15 | at edu.coursera.parallel.MatrixMultiplyTest.testPar768_x_768(MatrixMultiplyTest.java:130) 16 | 17 | -------------------------------------------------------------------------------- /Week-3/miniproject_3/target/test-classes/edu/coursera/parallel/MatrixMultiplyTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-3/miniproject_3/target/test-classes/edu/coursera/parallel/MatrixMultiplyTest.class -------------------------------------------------------------------------------- /Week-4/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/.DS_Store -------------------------------------------------------------------------------- /Week-4/Quiz/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/.DS_Store -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.03.48 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.03.48 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.04.51 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.04.51 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.07.20 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.07.20 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.19.32 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.19.32 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.24.56 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.24.56 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.02 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.02 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.05 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.05 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.33 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.33 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.41 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.41 AM.png -------------------------------------------------------------------------------- /Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.50 AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/Quiz/Screen Shot 2018-01-11 at 5.25.50 AM.png -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__classworlds_classworlds_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__com_jcraft_jsch_0_1_27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__commons_cli_commons_cli_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__jtidy_jtidy_4aug2000r7_dev.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__junit_junit_3_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_doxia_doxia_sink_api_1_0_alpha_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_artifact_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_artifact_manager_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_core_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_error_diagnostics_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_model_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_monitor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_plugin_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_plugin_descriptor_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_plugin_parameter_documenter_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_plugin_registry_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_profile_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_project_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_repository_metadata_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_maven_settings_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_plugins_maven_resources_plugin_2_4_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_reporting_maven_reporting_api_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_shared_maven_filtering_1_0_beta_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_file_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_lightweight_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_http_shared_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_provider_api_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_common_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_apache_maven_wagon_wagon_ssh_external_1_0_beta_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_codehaus_plexus_plexus_container_default_1_0_alpha_9_stable_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_codehaus_plexus_plexus_interactivity_api_1_0_alpha_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_codehaus_plexus_plexus_interpolation_1_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__org_sonatype_plexus_plexus_build_api_0_0_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/libraries/Maven__xml_apis_xml_apis_1_0_b2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/hamcrest-core-1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/miniproject_4/hamcrest-core-1.3.jar -------------------------------------------------------------------------------- /Week-4/miniproject_4/junit-4.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/miniproject_4/junit-4.12.jar -------------------------------------------------------------------------------- /Week-4/miniproject_4/miniproject_4.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/pcdp-core-0.0.4-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/miniproject_4/pcdp-core-0.0.4-SNAPSHOT.jar -------------------------------------------------------------------------------- /Week-4/miniproject_4/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 4.0.0 5 | edu.coursera.parallel 6 | miniproject_4 7 | jar 8 | 0.0 9 | miniproject_4 10 | 11 | 12 | UTF-8 13 | 14 | 15 | 16 | 17 | org.apache.maven.plugins 18 | maven-resources-plugin 19 | 2.4.3 20 | 21 | 22 | junit 23 | junit 24 | 3.8.2 25 | test 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | org.apache.maven.plugins 35 | maven-compiler-plugin 36 | 3.1 37 | 38 | 1.8 39 | 1.8 40 | 41 | 42 | 43 | 44 | org.apache.maven.plugins 45 | maven-dependency-plugin 46 | 2.9 47 | 48 | 49 | 50 | properties 51 | 52 | 53 | 54 | 55 | 56 | 57 | org.apache.maven.plugins 58 | maven-surefire-plugin 59 | 2.17 60 | 61 | pertest 62 | -Xmx4g 63 | true 64 | true 65 | 66 | 67 | 68 | org.apache.maven.plugins 69 | maven-checkstyle-plugin 70 | 2.17 71 | 72 | 73 | checkstyle 74 | validate 75 | 76 | ${basedir}/src/main/resources/checkstyle.xml 77 | UTF-8 78 | true 79 | true 80 | true 81 | 82 | 83 | check 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/src/main/java/edu/coursera/parallel/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Source code from the Java Parallel Programming Coursera course. 3 | */ 4 | package edu.coursera.parallel; 5 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/src/test/java/edu/coursera/parallel/OneDimAveragingPhaserTest.java: -------------------------------------------------------------------------------- 1 | package edu.coursera.parallel; 2 | 3 | import java.util.Random; 4 | import java.util.concurrent.Phaser; 5 | 6 | import junit.framework.TestCase; 7 | 8 | public class OneDimAveragingPhaserTest extends TestCase { 9 | // Number of times to repeat each test, for consistent timing results. 10 | final static private int niterations = 12000; 11 | 12 | private static int getNCores() { 13 | String ncoresStr = System.getenv("COURSERA_GRADER_NCORES"); 14 | if (ncoresStr == null) { 15 | return Runtime.getRuntime().availableProcessors(); 16 | } else { 17 | return Integer.parseInt(ncoresStr); 18 | } 19 | } 20 | 21 | private double[] createArray(final int N) { 22 | final double[] input = new double[N + 2]; 23 | input[N + 1] = 1.0; 24 | return input; 25 | } 26 | 27 | /** 28 | * A reference implementation of runSequential, in case the one in the main source file is accidentally modified. 29 | */ 30 | public void runSequential(final int iterations, double[] myNew, double[] myVal, final int n) { 31 | for (int iter = 0; iter < iterations; iter++) { 32 | for (int j = 1; j <= n; j++) { 33 | myNew[j] = (myVal[j - 1] + myVal[j + 1]) / 2.0; 34 | } 35 | double[] tmp = myNew; 36 | myNew = myVal; 37 | myVal = tmp; 38 | } 39 | } 40 | 41 | private static void runParallelBarrier(final int iterations, final double[] myNew, final double[] myVal, 42 | final int n, final int tasks) { 43 | Phaser ph = new Phaser(0); 44 | ph.bulkRegister(tasks); 45 | 46 | Thread[] threads = new Thread[tasks]; 47 | 48 | for (int ii = 0; ii < tasks; ii++) { 49 | final int i = ii; 50 | 51 | threads[ii] = new Thread(() -> { 52 | double[] threadPrivateMyVal = myVal; 53 | double[] threadPrivateMyNew = myNew; 54 | 55 | for (int iter = 0; iter < iterations; iter++) { 56 | final int left = i * (n / tasks) + 1; 57 | final int right = (i + 1) * (n / tasks); 58 | 59 | for (int j = left; j <= right; j++) { 60 | threadPrivateMyNew[j] = (threadPrivateMyVal[j - 1] + threadPrivateMyVal[j + 1]) / 2.0; 61 | } 62 | ph.arriveAndAwaitAdvance(); 63 | 64 | double[] temp = threadPrivateMyNew; 65 | threadPrivateMyNew = threadPrivateMyVal; 66 | threadPrivateMyVal = temp; 67 | } 68 | }); 69 | threads[ii].start(); 70 | } 71 | 72 | for (int ii = 0; ii < tasks; ii++) { 73 | try { 74 | threads[ii].join(); 75 | } catch (InterruptedException e) { 76 | e.printStackTrace(); 77 | } 78 | } 79 | } 80 | 81 | 82 | private void checkResult(final double[] ref, final double[] output) { 83 | for (int i = 0; i < ref.length; i++) { 84 | String msg = "Mismatch on output at element " + i; 85 | assertEquals(msg, ref[i], output[i]); 86 | } 87 | } 88 | 89 | /** 90 | * A helper function for tests of the two-task parallel implementation. 91 | * 92 | * @param N The size of the array to test 93 | * @return The speedup achieved, not all tests use this information 94 | */ 95 | private double parTestHelper(final int N, final int ntasks) { 96 | // Create a random input 97 | double[] myNew = createArray(N); 98 | double[] myVal = createArray(N); 99 | final double[] myNewRef = createArray(N); 100 | final double[] myValRef = createArray(N); 101 | 102 | final long barrierStartTime = System.currentTimeMillis(); 103 | runParallelBarrier(niterations, myNew, myVal, N, ntasks); 104 | final long barrierEndTime = System.currentTimeMillis(); 105 | 106 | final long fuzzyStartTime = System.currentTimeMillis(); 107 | OneDimAveragingPhaser.runParallelFuzzyBarrier(niterations, myNewRef, myValRef, N, ntasks); 108 | final long fuzzyEndTime = System.currentTimeMillis(); 109 | 110 | if (niterations % 2 == 0) { 111 | checkResult(myNewRef, myNew); 112 | } else { 113 | checkResult(myValRef, myVal); 114 | } 115 | 116 | return (double)(barrierEndTime - barrierStartTime) / (double)(fuzzyEndTime - fuzzyStartTime); 117 | } 118 | 119 | /** 120 | * Test on large input. 121 | */ 122 | public void testFuzzyBarrier() { 123 | final double expected = 1.1; 124 | final double speedup = parTestHelper(4 * 1024 * 1024, getNCores() * 16); 125 | final String errMsg = String.format("It was expected that the fuzzy barrier parallel implementation would " + 126 | "run %fx faster than the barrier implementation, but it only achieved %fx speedup", expected, speedup); 127 | assertTrue(errMsg, speedup >= expected); 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/target/classes/edu/coursera/parallel/OneDimAveragingPhaser.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/miniproject_4/target/classes/edu/coursera/parallel/OneDimAveragingPhaser.class -------------------------------------------------------------------------------- /Week-4/miniproject_4/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/OneDimAveragingPhaser.class 2 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_4/src/main/java/edu/coursera/parallel/OneDimAveragingPhaser.java 2 | /Users/rupeshharode/Downloads/miniproject_4/src/main/java/edu/coursera/parallel/package-info.java 3 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst: -------------------------------------------------------------------------------- 1 | edu/coursera/parallel/OneDimAveragingPhaserTest.class 2 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst: -------------------------------------------------------------------------------- 1 | /Users/rupeshharode/Downloads/miniproject_4/src/test/java/edu/coursera/parallel/OneDimAveragingPhaserTest.java 2 | -------------------------------------------------------------------------------- /Week-4/miniproject_4/target/test-classes/edu/coursera/parallel/OneDimAveragingPhaserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techytoes/Parallel-Programming-Coursera/65a9bff1c136070af5a678fa7892532be7650d77/Week-4/miniproject_4/target/test-classes/edu/coursera/parallel/OneDimAveragingPhaserTest.class --------------------------------------------------------------------------------