Tools I find invaluable in my day-to-day work.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
font: 16px sans-serif; | |
} | |
.axis path, | |
.axis line { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cinst ansicon | |
cinst Console2 | |
cinst powershell | |
cinst sysinternals | |
cinst dependencywalker | |
cinst putty | |
cinst nodejs.install | |
cinst curl | |
cinst Wget |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Diagnostics; | |
namespace MatrixVectorMultiply | |
{ | |
class MatrixVectorMultiply1 | |
{ | |
static void Main(string[] args) | |
{ | |
const int dim = 1024 * 8; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "cuda_runtime.h" | |
#include "device_launch_parameters.h" | |
#include <stdio.h> | |
cudaError_t multiplyWithCuda(float *c, const float *a, const float *b, unsigned int size); | |
__global__ void multiplyKernel(float *c, const float *a, const float *b, const int size) { | |
int index = threadIdx.x + blockIdx.x * blockDim.x; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "cuda_runtime.h" | |
#include "device_launch_parameters.h" | |
#include <stdio.h> | |
cudaError_t multiplyWithCuda(float *c, const float *a, const float *b, unsigned int size); | |
__global__ void multiplyKernel(float *c, const float *a, const float *b, const int size) { | |
int index = threadIdx.x + blockIdx.x * blockDim.x; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Diagnostics; | |
namespace MatrixVectorMultiply | |
{ | |
class MatrixVectorMultiply2 | |
{ | |
static void Main(string[] args) | |
{ | |
const int dim = 1024 * 8; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for (int i = 0; i < dim; i++) | |
{ | |
for (int j = 0; j < dim; j++) | |
{ | |
vecOut[i] += matrix[i, j] * vecIn[i]; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for (int j = 0; j < dim; j++) | |
{ | |
for (int i = 0; i < dim; i++) | |
{ | |
vecOut[j] += matrix[i, j] * vecIn[j]; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
__global__ void multiplyKernel(float *c, const float *a, const float *b, const int size) { | |
int index = threadIdx.x + blockIdx.x * blockDim.x; | |
c[index] = 0; | |
for (int j = 0; j < size; ++j) | |
c[index] += a[index * size + j] * b[index]; | |
} |
OlderNewer