- 浏览: 68215 次
最新评论
文章列表
CUDA By Example(二)
- 博客分类:
- GPU
这里是书上的一个例子,Julia集,实现并行的部分主要是计算每个像素点的值。
#ifndef __BITMAP_H__
#define __BITMAP_H__
#include <windows.h>
#include <GL/glut.h>
class Bitmap {
private:
unsigned char *pixels;
int x, y;
void *dataBlock; //回收时候使用的。。具体还不是很明白
void (*bitmapExit)(void*);
static Bitmap** get ...
CUDA By Example(一)
- 博客分类:
- GPU
cudaMalloc是在设备上分配内存,第一个参数是新分配内存的地址,第二个参数是分配内存大小。在主机上不能对这块内存做任何的修改。主机指针只能访问主机代码中的内存,设备指针只能访问设备代码中的内存。使用完设备内存后要用cudaFree来释放掉分配的内存。在主机代码中可以调用cudaMemcpy来访问设备上的内存。
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include<conio.h>
#include <stdio.h ...
Add Two Numbers
- 博客分类:
- 练习题
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8
题目比较简单,不过为不同 ...
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest substring is "b", with the length of 1.
...
Given an array of integers, find two numbers such that they add up to a specific target number.
The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) ar ...
There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
思路:这里进一步寻找第k小的元素。(参考http://leetcode.com/2011/01/find-k-th-smallest-element-in-union-of.html)
每一步中取i+j=k-1,如果,Bj_1 <= Ai &&am ...
【转载】位操作基础篇之位操作全面总结
- 博客分类:
- 转载
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
四. 位操作的趣味应用,列举了位操作在高低位交换、二进制逆序、二进制中1的个数以及缺失的数字这4种趣味应用。
希望读者能认真学习和亲自上机输入代码进行实验,相信通过本文及适当的练习可以使你对位操作有更加深入的了解,在笔试面试中遇到位操作相关试题能更加从容。
一. 位操作基础
基本的位操作符有与、或、异或、取反、左移、右移这6种,它们的运算规则如下所示:
...
封装:形式上是将数据和行为组合在一个包中,并对对象的使用者隐藏数据的实现方式。
构造器用来构造和初始化对象。
Date deadline; //定义了一个对象变量,可以引用Date对象,这里没有引用任何对象
deadline是变量,不是对象。由于目前没有引用对象,所以执行deadline.toString会编译错误。
deadline=new Date();
Date birthday=deadline; //这两个变量引用了 ...
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结
前言 开博已过24个月,回首这24个月,发现自己在本blog上着实花费了巨大的时间与精力,写的东西可能也够几本书的内容了。希望我真真正正的为读者提供了实实在在的价值与帮助。
下面,敬请观赏。有任何问题,欢迎随时不吝指正(同时,若你也能帮助blog内留言的任何朋友的问题,欢迎你随时不吝分享&回复,我们一起讨论,互帮互助,谢谢)。
无私分享,造福天下 以下是本blog内的微软面试100题系列,经典算法研究系列,程序员编程艺术系列,红黑树系列,及数据挖掘十大算法等5 ...
socket用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
java中当连接到一个套接字时,当前线程对被阻塞,直到建立连接或者超时为止。同样,当通过套接字读写数据时,当前线程也会被阻塞,直到操作成功或者超时。
本例:Client与Server之间的通信。
服务器端:
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Se ...
DescriptionZSUQ Messenger is similar with Tencent QQ. Each user will make a nickname for itself. Different users can have identical nickname. Some common ones, such as “Tom”, “Marry”, “Kate”, are frequently used. In a recent survey, the ZSUQ Company was astonished to find that there are no more than ...
java中所有数值类型所占的字节数与平台无关,每一种数据的取值范围是固定的,int、short、long、byte分别占4,2,8,1个字节,float、double占4,8个字节。
float类型有后缀F,没有后缀的浮点数默认为double类型,double类型的数据后缀可以加上D。
char类型是用UTF-16编码描述的一个代码单元。
变量名以字母开头由数字或者字母组成。大小写敏感,长度没有限制,不能是保留字,不能有空格、“+”等符号。
类常量用static final修饰,f ...
多线程设计模式
- 博客分类:
- java多线程设计模式
java内存模型:主存储器,工作存储器
主存储器就是实例位置所在区域,所有的实例都位于主存储器内。尤其实例所拥有的字段即位于主存储器内的区域。主存储器为所有的线程所共有。
工作存储器 ...
Active Object
- 博客分类:
- java多线程设计模式
Active Object Pattern是由很多组件构成的,是一个大型的Pattern。适合大规模问题。
首先由Client发出请求,Active Object的参与者配合得到请求的返回值。
Active Object中,首先异步消息都传递给Proxy,Proxy将这些消息放在队列里面,然后由一个线程(Scheduler)不断的获取这些消息,让这些消息交给“提货单”,真正的消息处理工作交给Servant,Servant把结果交给“提货单”,最后结果返回到Client。
下面的示例展示了这个过程(不过是一个小规模的问题 ...
这个模式是这样的:所有线程都有一个入口,但是内部为每个线程分配了特有的存储空间。
这里需要用到ThreadLocal类,这个类的实例可以想象成保管箱间,他有大量的保管箱房间。ThreadLocal的实例只有一个但是管理多个对对象。他有方法set和(Object)get,set用来存储,这个方法是没有参数的,它会自动存放当前线程;而get用来取(没有拿走)线程,同样没有参数,因为他自己就是键值。
示例:TSLog用来做具体的写入工作
Log中有类属性ThreadLocal,用来读取的时候从ThreadLocal里面找 ...