From 8e0f0d54bec5a482f98eb610ebf0541a4abec9b8 Mon Sep 17 00:00:00 2001 From: Ottavio Hartman Date: Tue, 28 Aug 2018 20:48:43 -0400 Subject: [PATCH 1/4] Update with some Notes and update dates --- CMakeLists.txt | 2 +- INSTRUCTION.md | 7 ++++++- README.md | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f3e9f8..0c80bce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.1) project(cis565_getting_started) diff --git a/INSTRUCTION.md b/INSTRUCTION.md index 5f31bdb..a19ebc4 100644 --- a/INSTRUCTION.md +++ b/INSTRUCTION.md @@ -1,7 +1,7 @@ Project 0 CUDA Getting Started: Instructions ======================== -This is due **Friday, September 1 2017**. (See [late policy](#late-policy) at the bottom) +This is due **Friday, August 31st 2018**. (See [late policy](#late-policy) at the bottom) **Summary:** In this project, you will set up your CUDA development tools and verify that you can build, run, and do performance analysis. @@ -26,6 +26,11 @@ machine with these specs, you may use computers in the Moore or SIG Labs. Skip this part if you are developing on a lab computer. +#### Notes +- Before you get started: if you have multiple VS code and/or CMake versions, you will probably run into trouble. Either uninstall extra versions (if possible) or ensure that the correct VSCode (or XCode) and CMake versions are being chosen. +- If you are running into a lot of trouble, a clean installation of VS Code (or XCode), CMake, and CUDA can help fix any problems if other methods don't work. +- If you have driver issues or random crashing: uninstalling and reinstalling drivers usually works + ### Windows 1. Make sure you are running Windows 7/8/10 and that your NVIDIA drivers are diff --git a/README.md b/README.md index fd52a04..793f2b2 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ Project 0 CUDA Getting Started **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 0** * (TODO) YOUR NAME HERE + * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. * Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) ### (TODO: Your README) From 1eb6550ac8e1a11b11daaa14aefbe96e5e178521 Mon Sep 17 00:00:00 2001 From: Edward Atter Date: Thu, 30 Aug 2018 00:22:34 -0400 Subject: [PATCH 2/4] Fix broken link for Linux installation guide --- INSTRUCTION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTRUCTION.md b/INSTRUCTION.md index a19ebc4..1ce02b9 100644 --- a/INSTRUCTION.md +++ b/INSTRUCTION.md @@ -78,7 +78,7 @@ Capability 5.0. * CUDA 8 is recommended. However, if you have any reason that you have to use CUDA 7.5, please clarify you're using CUDA 7.5 in your report. Also you need to change `find_package(CUDA 8.0 REQUIRED)` in `CMakeLists.txt` to `find_package(CUDA REQUIRED)` before you build your project. - For more Linux installation info, check out [CUDA_Linux Installation Guide](http://developer2.download.nvidia.com/compute/cuda/8.0/secure/Prod2/docs/sidebar/CUDA_Installation_Guide_Linux.pdf?weyH9mwDHKcyP4LBe1idPT47TTMqM6s3HKNrW1hOYPlw0om73Jx7isV6gG6L3O7p6pJm1JNcY4sp_4LDlBVE7dG7mGyjDeKq5O_T7eRdBDlb1I-ZhvperJ5VfM8dT_R6RuRj5hTUEijr5vY8_KFfZAQ1dvq2CQOW5O2gLBtMc3UISE-o11fzsUTBYQ). + For more Linux installation info, check out [CUDA_Linux Installation Guide](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html). * Make sure you select Nsight. 2. Install Git (`apt-get install git` on Debian/Ubuntu). 3. Install CMake (`apt-get install cmake` on Debian/Ubuntu). From 02f77e40050f754141153a6466d1f99de63c1692 Mon Sep 17 00:00:00 2001 From: Salaar Kohari Date: Fri, 31 Aug 2018 12:05:34 -0400 Subject: [PATCH 3/4] Update README.md --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 793f2b2..5331ff1 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,11 @@ Project 0 CUDA Getting Started **University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 0** -* (TODO) YOUR NAME HERE - * (TODO) [LinkedIn](), [personal website](), [twitter](), etc. -* Tested on: (TODO) Windows 22, i7-2222 @ 2.22GHz 22GB, GTX 222 222MB (Moore 2222 Lab) +* Salaar Kohari + * [LinkedIn](https://www.linkedin.com/in/salaarkohari), [personal website](http://salaar.kohari.com) +* Tested on: Windows 10, Intel Xeon @ 3.7GHz 32GB, GTX 1070 8GB (SIG Lab) -### (TODO: Your README) +### Screenshots/Analysis Include screenshots, analysis, etc. (Remember, this is public, so don't put anything here that you don't want to share with the world.) - From 4a5b624ba54daedcd1daef6721c00eb7b88c0bfb Mon Sep 17 00:00:00 2001 From: Anton Khabbaz Date: Fri, 31 Aug 2018 17:57:41 -0400 Subject: [PATCH 4/4] Analysis/debug --- README.md | 8 +++++--- images/analysis.png | Bin 0 -> 49278 bytes images/run.png | Bin 0 -> 8741 bytes src/main.cpp | 3 +-- 4 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 images/analysis.png create mode 100644 images/run.png diff --git a/README.md b/README.md index 5331ff1..ad1d7dc 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,11 @@ Project 0 CUDA Getting Started * Salaar Kohari * [LinkedIn](https://www.linkedin.com/in/salaarkohari), [personal website](http://salaar.kohari.com) -* Tested on: Windows 10, Intel Xeon @ 3.7GHz 32GB, GTX 1070 8GB (SIG Lab) +* Tested on: Windows 10, Intel Xeon @ 3.1GHz 32GB, GTX 980 4GB (SIG Lab) ### Screenshots/Analysis -Include screenshots, analysis, etc. (Remember, this is public, so don't put -anything here that you don't want to share with the world.) +Implemented analysis as described in instructions. The debug breakpoint could not be hit due to a gpu debugging setting that I could not access. Tried reinstalling everything to no avail. + +![](images/run.png) +![](images/analysis.png) diff --git a/images/analysis.png b/images/analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..45dc4bd5bd11de2200e658269baf63f8881520bf GIT binary patch literal 49278 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