原创 如何學習C++(C++書籍階梯式推薦)

第一篇一些同學問我,如何學好C++,我沒有別的辦法給你們,唯一的辦法就是讀書,讀大量的書,就可以解決。要把C++作爲日常語言,而不是一種程序語言,這樣就好辦了。有人又要問我,那麼我應該讀什麼書纔好?沒有時間怎麼辦?我只能對你們說,沒時間的

原创 支持向量機通俗導論(理解SVM的三層境界)

            支持向量機通俗導論(理解SVM的三層境界) 作者:July、pluskid ;致謝:白石、JerryLead 出處:結構之法算法之道blog。 前言     動筆寫這個支持向量機(sup

原创 從最大似然到EM算法淺解

從最大似然到EM算法淺解 [email protected] http://blog.csdn.net/zouxy09          機器學習十大算法之一:EM算法。能評得上十大之一,讓人聽起來覺得挺NB的。什麼是NB啊,我們一般

原创 我的算法學習之路

轉自:http://zh.lucida.me/blog/on-learning-algorithms/ 關於 嚴格來說,本文題目應該是我的數據結構和算法學習之路,但這個寫法實在太繞口——況且CS中的算法往往暗指數據結構和算法(例如算

原创 Constant Memory in CUDA

看過介紹Constant  Memory最好的, 不得不頂一下。 from http://cuda-programming.blogspot.sg/2013/01/what-is-constant-memory-in-cuda.html.

原创 FFT原理解釋

FFT是離散傅立葉變換的快速算法,可以將一個信號變換到頻域。有些信號在時域上是很難看出什麼特徵的,但是如果變換到頻域之後,就很容易看出特徵了。這就是很多信號分析採用FFT變換的原因。另外,FFT可以將一個信號的頻譜提取出來,這在頻譜分析方

原创 3-D FFT與1-D FFT的區別和聯繫

最近搞這個方向的,試着解釋一下這個方面的。後續一定跟上。 3-D FFT 只要用於並行計算,GPU, APU,多核等,它的並行度高,易於並行任務的劃分。

原创 愛上OpenCL的十個理由

作爲OpenCL CodeBench的開發者,Amdahl軟件公司始終堅信OpenCL能夠帶來巨大的利益,也從未懷疑過OpenCL標準的成功性。現在人們對計算性能的要求越來越高,在不超過發熱量和功耗的限制範圍,我們相信多核和多核系統提供

原创 MapReduce編程(入門篇)-wordcount

一. MapReduce 編程模型 還是以一個經典的圖片來說明問題. 1. 首先, 我們能確定我們有一份輸入, 而且他的數據量會很大 2. 通過split之後, 他變成了若干的分片, 每個分片交給一個Map處理 3. map

原创 Static Analysis 原理

Static Analysis 目前主要用於編譯器中寄存器liveness analysis,即peudo-reg的作用域,用於重新使用hard register。 另外一個用處就是用於發現程序的bug,Java中用的比較多。

原创 OpenCL 和 CUDA 之間的區別

根據nvidia的官方文檔,對OpenCL和CUDA的異同做比較:           指針遍歷 OpenCL不支持CUDA那樣的指針遍歷方式, 你只能用下標方式間接實現指針遍歷. 例子代碼如下:// CUDA struct Nod

原创 一致性 hash 算法( consistent hashing )

consistent hashing 算法早在 1997 年就在論文 Consistent hashing and random trees 中被提出,目前在 cache 系統中應用越來越廣泛; 1 基本場景 比如你有 N 個 cach

原创 E: Could not get lock /var/lib/apt/lists/lock - open 錯誤 如何解決

現這個問題的原因可能是有另外一個程序正在運行,導致資源被鎖不可用。而導致資源被鎖的原因,可能是上次安裝時沒正常完成,而導致出現此狀況。 解決方法:輸入以下命令 sudo rm /var/cache/apt/archives/lock

原创 PCIe設備漫遊記----BIOS篇

調試個人經驗之談: 當主板在BIOS階段枚舉PCIE時,如果PCIE沒有初始化完成,就使設備無法被枚舉成功,主板會關閉slot時鐘輸出。一定要注意這個時間差,設備一定要初始化完成。正常枚舉後一定可以訪問設備寄存器空間如BAR。如果不

原创 DE4-530的OpenCL開發環境搭建

簡潔完整的文檔見DE4-530的OpenCL開發環境搭建(最終版) 背景介紹 傳統的硬件開發,需要經過“算法設計->硬件方案設計->代碼實現->功能仿真->下板調試”這些步驟,花費的時間會非常長。通過OpenCL在FPGA上開發,