原创 TCP和UDP套接字編程基本流程

本博客已遷往http://coredumper.cn TCP套接字編程 服務器: 1.創建套接字描述符(socket) 2.設置服務器的IP地址和端口號(需要轉換爲網絡字節序的格式) 3.將套接字描述符綁定到服務器地址(bind)

原创 C常見問題之類函數宏的定義方法

本博客已遷往http://coredumper.cn 下面是一個類函數宏的定義,它的功能是對x進行錯誤檢查,通常用於針對系統API或者庫函數的返回值的錯誤檢查,可以準確定位程序運行時出現問題的代碼位置。 #define CHECK_

原创 Python小貼士之模塊

本博客已遷往http://coredumper.cn 用import導入模塊時,模塊名是Python文件名去掉後綴.py。 當導入模塊時,該模塊內的程序會被執行,但是隻有第一次導入時執行,如果後面重複導入,則不會再執行,若要重複執行

原创 MPI+CUDA混合程序的編譯命令

本博客已遷往http://coredumper.cn 單獨的MPI程序和CUDA程序的編譯命令是很簡單的。 MPI程序的編譯命令爲: mpicc test.c -o test CUDA程序的編譯命令爲: nvcc test.c

原创 CentOS下IPoIB(IP over InfiniBand)網絡接口的配置過程

本博客已遷往http://coredumper.cn 1.查看HCA端口狀態,若State爲Active,則表示正常,方可繼續執行後面的步驟。 ibstat 2.創建文件/etc/sysconfig/network-scripts/

原创 以InfiniBand爲通信方式的MPICH2開發環境的搭建

本博客已遷往http://coredumper.cn 《CentOS上搭建MPICH2開發環境的步驟》這篇博客寫的是通過以太網交換機的方式搭建MPI開發環境,如果想用InfiniBand替換掉以太網,只需按如下步驟操作即可: 1.按照

原创 CUDA的隨機數生成方法

本博客已遷往http://coredumper.cn CUDA Runtime API 沒有提供用於生成隨機數的接口,但是CURAND這個庫提供了通過GPU生成隨機數的接口,詳細內容可參考http://docs.nvidia.com

原创 CUDA的計時方法

本博客已遷往http://coredumper.cn CUDA Runtime API提供了用於計時的接口,可以用如下代碼對在GPU上運行的CUDA程序進行計時,計時結果以毫秒爲單位: cudaEvent_t start, stop

原创 Python之分片操作

本博客已遷往http://coredumper.cn 爲了避免出錯,儘量不要在分片時同時使用非負數索引和負數索引 針對字符串s = 'abc',s[x:y:z]得到的是s[x],s[x+z],s[x+2*z],...,s[y](不包括

原创 CentOS下NFS的安裝過程

本博客已遷往http://coredumper.cn 兩臺主機均爲 CentOS 系統,主機名分別爲 node0 和 node1,node0 的 IP 爲 10.141.4.36,node1 的 IP 爲 10.141.4.

原创 CentOS下CUDA開發環境的安裝過程

本博客已遷往http://coredumper.cn 硬件:Nvidia GPU K20m 軟件:CentOS 6.4 cuda_5.5.22_linux_64.run(從 https://developer.nvidia.c

原创 CentOS下InfiniBand驅動安裝過程

本博客已遷往http://coredumper.cn 硬件:Mellanox InfiniBand,主要包括 HCA(主機通道適配器)和交換機兩部分 軟件:CentOS 6.4 MLNX_OFED_LINU

原创 Python在函數中使用全局變量的問題

本博客已遷往http://coredumper.cn 在函數中定義的局部變量如果和全局變量同名,則它會隱藏該全局變量。如果想在函數中使用全局變量,則需要使用global進行聲明。舉例說明如下: x = 1 def func():

原创 兩臺主機可以無需密碼而直接互相登錄的SSH配置方法

本博客已遷往http://coredumper.cn 兩臺主機均爲 CentOS 系統,主機名分別爲 node0 和 node1,node0 的 IP 爲 10.141.4.36,node1 的 IP 爲 10.141.4.

原创 Python的print用法

本博客已遷往http://coredumper.cn Python 2.6中print不是函數,而是一個關鍵字,使用方式如下: print 1, 2 print 'a', 'b' 顯示結果如下,用逗號分隔的各項之間會打印出一個