You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
'Implement a "kernel" (GPU function) that adds 10 to each position of vector `a` and stores it in vector `out`. You have 1 thread per position.',
15
+
name: "Map",
16
+
description:
17
+
'Implement a "kernel" (GPU function) that adds 10 to each position of vector `a` and stores it in vector `out`. You have 1 thread per position.',
20
18
},
21
19
{
22
-
name: "Zip",
23
-
description:
24
-
"Implement a kernel that adds together each position of `a` and `b` and stores it in `out`. You have 1 thread per position.",
20
+
name: "Zip",
21
+
description:
22
+
"Implement a kernel that adds together each position of `a` and `b` and stores it in `out`. You have 1 thread per position.",
25
23
},
26
24
{
27
-
name: "Guards",
28
-
description:
29
-
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. You have more threads than positions.",
25
+
name: "Guards",
26
+
description:
27
+
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. You have more threads than positions.",
30
28
},
31
29
{
32
-
name: "Map 2D",
33
-
description:
34
-
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. Input `a` is 2D and square. You have more threads than positions.",
30
+
name: "Map 2D",
31
+
description:
32
+
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. Input `a` is 2D and square. You have more threads than positions.",
35
33
},
36
34
{
37
-
name: "Broadcast",
38
-
description:
39
-
"Implement a kernel that adds `a` and `b` and stores it in `out`. Inputs `a` and `b` are vectors. You have more threads than positions.",
35
+
name: "Broadcast",
36
+
description:
37
+
"Implement a kernel that adds `a` and `b` and stores it in `out`. Inputs `a` and `b` are vectors. You have more threads than positions.",
40
38
},
41
39
{
42
-
name: "Blocks",
43
-
description:
44
-
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. You have fewer threads per block than the size of `a`.",
40
+
name: "Blocks",
41
+
description:
42
+
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. You have fewer threads per block than the size of `a`.",
45
43
},
46
44
{
47
-
name: "Blocks 2D",
48
-
description:
49
-
"Implement the same kernel in 2D. You have fewer threads per block than the size of `a` in both directions.",
45
+
name: "Blocks 2D",
46
+
description:
47
+
"Implement the same kernel in 2D. You have fewer threads per block than the size of `a` in both directions.",
50
48
},
51
49
{
52
-
name: "Shared",
53
-
description:
54
-
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. You have fewer threads per block than the size of `a`. Use shared memory and `cuda.syncthreads` to ensure threads do not cross.",
50
+
name: "Shared",
51
+
description:
52
+
"Implement a kernel that adds 10 to each position of `a` and stores it in `out`. You have fewer threads per block than the size of `a`. Use shared memory and `cuda.syncthreads` to ensure threads do not cross.",
55
53
},
56
54
{
57
-
name: "Pooling",
58
-
description:
59
-
"Implement a kernel that sums together the last 3 positions of `a` and stores it in `out`. You have 1 thread per position.",
55
+
name: "Pooling",
56
+
description:
57
+
"Implement a kernel that sums together the last 3 positions of `a` and stores it in `out`. You have 1 thread per position.",
60
58
},
61
59
{
62
-
name: "Dot Product",
63
-
description:
64
-
"Implement a kernel that computes the dot-product of `a` and `b` and stores it in `out`. You have 1 thread per position.",
60
+
name: "Dot Product",
61
+
description:
62
+
"Implement a kernel that computes the dot-product of `a` and `b` and stores it in `out`. You have 1 thread per position.",
65
63
},
66
64
{
67
-
name: "1D Convolution",
68
-
description:
69
-
"Implement a kernel that computes a 1D convolution between `a` and `b` and stores it in `out`. Handle the general case.",
65
+
name: "1D Convolution",
66
+
description:
67
+
"Implement a kernel that computes a 1D convolution between `a` and `b` and stores it in `out`. Handle the general case.",
70
68
},
71
69
{
72
-
name: "Prefix Sum",
73
-
description:
74
-
"Implement a kernel that computes a sum over `a` and stores it in `out`. If the size of `a` is greater than the block size, only store the sum of each block using parallel prefix sum.",
70
+
name: "Prefix Sum",
71
+
description:
72
+
"Implement a kernel that computes a sum over `a` and stores it in `out`. If the size of `a` is greater than the block size, only store the sum of each block using parallel prefix sum.",
75
73
},
76
74
{
77
-
name: "Axis Sum",
78
-
description:
79
-
"Implement a kernel that computes a sum over each column of `a` and stores it in `out`.",
75
+
name: "Axis Sum",
76
+
description:
77
+
"Implement a kernel that computes a sum over each column of `a` and stores it in `out`.",
80
78
},
81
79
{
82
-
name: "Matrix Multiply",
83
-
description:
84
-
"Implement a kernel that multiplies square matrices `a` and `b` and stores the result in `out`. Optimize by using shared memory for partial dot-products.",
80
+
name: "Matrix Multiply",
81
+
description:
82
+
"Implement a kernel that multiplies square matrices `a` and `b` and stores the result in `out`. Optimize by using shared memory for partial dot-products.",
85
83
},
86
84
];
87
85
@@ -113,11 +111,11 @@ function initializeEditor(initialContent) {
0 commit comments