Python GPU编程之入门篇


现在GPU编程正变得越来越流行,由于CPU串行执行的局限性,程序如果在GPU上运行,则可真正做到多线程,并发执行,极大减少运行时间,这对于分秒必争的科学计算,以及新兴的人工智能领域都带来了极大的便利。 目前,GPU编程以NVIDIA的CUDA平台为主,支持四种语言C、C++、Fortran(PGI)以及Python。目前CUDA的最新版本已经达到7.5,具体配置可以看官方指导和其它教程,这里不做具体介绍。 下面我们具体来看Python的GPU编程。 我的显卡是GeForce GT 740M,安装CUDA7.5,使用Python2.7搭配相关库。 首先我们要引入一些必要的包 from numbapro import cuda 是cuda包是必须导入的,否则不能使用GPU。 引入之后就可以调用cuda对象了。例如,创建一个一维网格

tx = cuda.threadIdx.x
bx = cuda.blockIdx.x
bw = cuda.blockDim.x
i = tx + bx * bw
array[i] = something(i)

也可以简化成

i = cuda.grid(1)
array[i] = something(i)

上面两段代码实现的功能是一样的。


配置Apache服务器支持openssl


起步

蛋总也为域名(malinlin.cn)申请HTTPS证书了,之前配置的是nginx服务器,蛋总的服务器是apache,找了很多资料,按照里面讲的做,最后重启wamp是枯黄枯黄的颜色,可能资料里也没遇到相似的情况吧。今日配置完成记录之。


深入JVM内核(十)


下面我们来探究JVM字节码的执行

我们知道javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。下面我们就用它对程序进行分析。

看一段代码:

 public class Calc {
    public int calc() {
        int a = 500;
        int b = 200;
        int c = 50;
        return (a + b) / c;
    }
}


深入JVM内核(九)


下面我们来分析一下java程序中的Class文件结构。 我们知道,一个java项目会在在bin目录下编译生成.class文件并交由JVM运行,但是.class文件不仅可以由java代码生成,ruby脚本,Groovy代码以及其他JVM语言 也可以生成.class文件交由JVM运行。 用UltraEdit可以打开二进制文件,我们用它打开一个.class文件看看:

1.png

它的文件结构非别包含:魔数,版本,常量池,访问符,类、超类、接口,字段,方法,属性。下面我们逐一介绍。


PHP错误处理及异常处理


起步

PHP提供了错误处理和日志记录的功能。这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式,这样,你就可以根据自己的需要,来更改和加强错误输出信息以满足实际需要。

通过日志记录功能,你可以将信息直接发送到其他日志服务器,或者发送到指定的电子邮箱(或者通过邮件网关发送),或者发送到操作系统日志等,从而可以有选择的记录和监视你的应用程序和网站的最重要的部分。