Go PZ!

Thinking will not overcome fear but action will.

Parallel Computing

CUDA

CUDA - Optimization CUDA 优化来说主要是 memory 和 compute 两方面。 Find out the limiting factor in kernel performance Kernel launch bound Time(kernel launch) > Time(kernel execution) Memory bandwi...

Advanced Data Structures

AVL, B tree

Balanced BST

Float Computing

C++/C

Representation Keys: 0.1 vs 0.5 0.1 不能被完全表示;因为十进制的0.1换算成二进制是一个无限循环小数 0.5 可以 因为是二进制的小数 2 的 -1 次方 float == float ?? 由于浮点数存在运算误差,所以比较两个浮点数是否相等常常会出现错误的结果。正确的比较方法是判断两个浮点数之差的绝对值是否小于一个很小的数 如果参与运算...

C++ Basics

C++/C

左值和右值 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。 变量类型 int a = 0; //全局初始化区 char *p1; //全局未初始...

Parallel Computing

C++/C

Parallel Computing - Machine Learning Parallel 减少的是Wall-time, CPU,GPU运行的时间时不变的,对并行来说 Gradient Descent: Communication MapReduce Synchronization after each map, or reduce client-serve...

Machine Learning

Coursera

准确率 accuracy 当您使用分类不平衡的数据集(比如正类别标签和负类别标签的数量之间存在明显差异)时,单单准确率一项并不能反映全面情况 所以需要精确率和召回率 precision and recall Precision:在被识别为正类别的样本中,确实为正类别的比例是多少? ROC AUC 曲线下面积表示随机正类别(绿色)样本位于随机负类别(红色)样本右侧的概...

CUDA GPU Acceleration

C++

CUDA: host: CPU and its memory, host: GPU and its memory ; codes run on the host can manage memory on both the host and the device, and also launches kernels which are functions executed on the CUD...

Interview Questions

C++

ByteDance int64 check a + b > c Tips: 溢出 overflow 主要有两种: a, b 同号, c 与 a, b 同号, 转化成 a > c - b a, b 同号, c 与 a, b 异号: 负数 + 负数 > 正数 return False 正数 + 正数 > 负数 return True a,...

Spark Learning

Spark

Transformation and Actions Nothing Happens when doing transformations: map, flatmap, filter, distinct Start when doing actions: collect, count, take, reduce, foreach Save time Example: la...

Leetcode String

C++

string 处理起来和 array 以及 linked list 有相同之处 考虑modify in place,内存问题 双指针也能使用,快慢指针 从中心散开 unordered_map, 当两个string比较的时候 Tips: // check if the character contains decimals or chars isalpha(c...