Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 54 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,59 @@ Project 0 Getting Started

**University of Pennsylvania, CIS 5650: 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)
* Michael Rabbitz
* https://www.linkedin.com/in/mike-rabbitz/
* Tested on: Windows 10, i7-9750H @ 2.60GHz 32 GB, RTX 2060 6GB (Personal)

## CUDA Compute Capability
### The CUDA Compute Capability of the RTX 2060 is 7.5 as displayed in the following image
![Cuda_Compute_Capability](images/CudaComputeCapability.PNG)

## Nsight Debugging
### Breakpoint condition set to index == 1025
In the snapshot, we reside in block index (x = 14, y = 0, z = 0) and thread index (x = 1, y = 1, z = 0).

The block index is represented by both:

1) in the Autos window - variable blockIdx, and
2) in the Warp Info window - CTA in the Shader Info column

The thread index is represented by both:

1) in the Autos window - variable threadIdx, and
2) in the Warp Info window - a combination of Thread in the Shader Info column and the square with a yellow arrow in a red background in the Threads column

We deduce the threadIdx from the Warp Info window by first taking the value of Thread (x = tx, y = ty, z = tz), which in the snapshot's highlighted row is (x = 0, y = 0, z = 0). This value is the threadIdx of the leftmost square of the 4 green groups of squares (segments) in the corresponding Threads column. From within the Threads column, the 2 leftmost segments hold Thread's y value (ty), and the 2 rightmost segments hold Thread's y value + 1 (ty + 1). In the snapshot, this gives us threadIdxs of (x, 0, 0) for the 2 leftmost segments and (x, 1, 0) for the 2 rightmost segments. The 2 leftmost segments have a combined total of 16 squares, as do the 2 rightmost segments. Each of these 16 squares is given a threadIdx x value from 0 to 15, left to right. This gives the square with a yellow arrow in a red background an x value of 1, and ultimately proves why the threadIdx of that square is (x = 1, y = 1, z = 0).

![Nsight_Debugging](images/NsightDebugging.PNG)

## Nsight Systems
### Analysis Summary
![Nsight_Systems_Analysis_Summary](images/NsightSystems_AnalysisSummary.PNG)
### Timeline View
![Nsight_Systems_Timeline](images/NsightSystems_Timeline.PNG)

## Nsight Compute
### Summary
![Nsight_Compute_Summary](images/NsightCompute_Summary.PNG)
### Details
![Nsight_Compute_Details](images/NsightCompute_Details.PNG)

## WebGL 2 Compatability
### From https://webglreport.com/?v=2
![WebGL_2_Compatibility](images/WebGL_2_Compatibility.PNG)

## WebGPU Compatability
### From https://webgpureport.org
![WebGPU_Compatibility_0](images/WebGPU_Compatibility_0.PNG)
### From https://webgpu.github.io/webgpu-samples/?sample=instancedCube
![WebGPU_Compatibility_1](images/WebGPU_Compatibility_1.PNG)








### (TODO: Your README)

Include screenshots, analysis, etc. (Remember, this is public, so don't put
anything here that you don't want to share with the world.)
2 changes: 1 addition & 1 deletion cuda-getting-started/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/
int main(int argc, char* argv[]) {
// TODO: Change this line to use your name!
m_yourName = "TODO: YOUR NAME HERE";
m_yourName = "Michael Rabbitz";

if (init(argc, argv)) {
mainLoop();
Expand Down
Binary file added images/CudaComputeCapability.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/NsightCompute_Details.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/NsightCompute_Summary.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/NsightDebugging.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/NsightSystems_AnalysisSummary.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/NsightSystems_Timeline.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/WebGL_2_Compatibility.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/WebGPU_Compatibility_0.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/WebGPU_Compatibility_1.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.