原创 Python入門到實踐(7) -用戶輸入與while循環

# -*- coding: utf-8 -*- """ Created on Sun Dec 3 08:00:30 2017 @author: Echo """ """input""" # 文字提示輸入: name=input("W

原创 CUDA獲取錯誤信息

cudaError_t cudastatus; cudastatus = cudaMalloc((void**)&d_data,NByte); if (cudastatus != cudaSuccess) { qDebug("%s",

原创 Python 零碎知識

1.創建指定長度的特定列表 f=[x*100+y*10+x for x in range(9) for y in range(9)]  f=[x for x in range(9) ] f=[0.0 for _ in range(4) ]

原创 多線程並行數組求和(相鄰配對模式)

方案一,遞歸調用的方式,同前文 //並行規約 //參數含義:L爲數據總長度,length是當前線程的計算長度。 template <class T> T omp_reduction1(T*data ,int length,int L)

原创 cuda的cu文件單獨編譯

cu文件單獨編譯的時候,對所有cu文件使用相同的flags

原创 CUDA-全局內存讀取-實驗(緩存+非緩存-Pascal架構-sm6.1)

特別聲明: 設備GTX1050Ti, 計算能力6.1.代碼附在後面; 緩存加載: (1)Pascal架構,啓用L1緩存,-Xptxas -dlcm=ca 。即採用128字節內存事務。   採用不同的偏移量,以實現非對齊訪問。

原创 vim 取消搜索高亮

在Vi裏面如果要搜索某個關鍵字,只要鍵入/xxx就可以了,比如,要搜索一個函數,就鍵入/snprintf 然後回車,一個文件中,所有出現這個字樣的地方都會被高亮顯示。按n鍵,就可以自動把光標跳到下一個。 消除高亮:鍵入:noh就可以

原创 JAVA10 搜索不到 dt.jar和tools.jar

從jdk-9之後就已經沒有tools.jar和dt.jar了,也不需要在classpath裏面配置這些jar了,配置可參考:JAVA_HOME=jdk安裝路徑JRE_HOME=jre安裝路徑PATH= ;%JAVA_HOME%\bin;%

原创 Linux gcc/g++靜態庫與動態庫

源碼:test.h#pragma once void test(); test.c#include"stdio.h" void test() { printf

原创 CUDA優化--核函數--浮點數類型轉換

在編寫CUDA內核時,遇到一個問題,如下在覈函數中使用一個2.1的浮點數,沒有作類型聲明,如(float)2.1或double(2.1)..一. 實際上,cuda默認2.1是double,在覈函數計算過程中進行了類型轉換,流水線中arit

原创 CUDA 同步和異步

同步操作:主機向設備提交任務,主機將阻塞,直到設備將所提交任務完成,並將控制權交回主機。然後繼續執行主機的程序。 異步操作:主機向設備提交任務,設備直接開始執行任務,但主機將不再阻塞,而是直接繼續執行主機的程序。主機並不會等待設備執行任務

原创 全文對齊

在命令行模式下,首先使用“gg”將光標移動到文檔開頭,然後使用“v”切換到可視模式,再用“G”將光標移動到文檔尾部(相當於全選),最後使用“=”,即可完成整個文檔的自動排版。

原创 CUDA-cudaEvent記錄事件

CUDA中Event用於在流的執行中添加標記點,用於檢查正在執行的流是否到達給定點。 作用一,Event可用於等待和測試時間插入點前的操作,作用和streamSynchronize類似。 作用二,Event可插入不同的流中,用於流之間的操

原创 CUFFT庫(cufft_C2C,cufft_R2C,cufft_C2R,cufft_Z2C,cufft_D2Z,cufft_Z2D)

CUDA的cufft庫可以實現(複數C-複數C),(實數R-複數C)和(複數C-實數R)的單精度,雙精度福利變換。其變換前後的輸入,輸出數據的長度如圖所示。在C2R和R2C模式中,根據埃爾米特對稱性(Hermitian symmetry)

原创 CUDA動態並行

Nvidia的GPU,設備計算能力>3.5的設備支持動態並行。可實現GPU線程啓動核函數,而不用CPU端調用核函數。這在遞歸調用很有用! 在項目要強制生成可重定位的設備代碼, win操作: 1.指定代碼生成:設備項目-屬性-CUDA C/