1. 程式人生 > >CUDPP基本執行過程分析

CUDPP基本執行過程分析

CUDPPResult cudppPlan(constCUDPPHandle cudppHandle, CUDPPHandle*planHandle, CUDPPConfiguration config, size_t numElements, size_t numRows, size_t rowPitch) { CUDPPResult result = CUDPP_SUCCESS; //從CUDPPManager的實現中可以看到下面兩句是將cudppHandle轉換回CUDPPManager物件指標 CUDPPPlan*plan
; CUDPPManager*mgr =CUDPPManager::getManagerFromHandle(cudppHandle); //這一段也很好理解,就是判斷配置是否正確,具體可以看validateOptions函式實現。 result = validateOptions(config, numElements, numRows, rowPitch); if(result != CUDPP_SUCCESS) { *planHandle = CUDPP_INVALID_HANDLE; return result; } //接下來就要真正開始建立plan了,建立基於配置引數config,生成不同型別的並行原語
switch(config.algorithm) { case CUDPP_SCAN: { plan =newCUDPPScanPlan(mgr, config, numElements, numRows, rowPitch); break; } // ... //中間一些case以及default項就省了 // ... } //最後不多解釋了,將CUDPPPlan物件指標轉換為CUDPPHandle賦值給planHandle,返回 if(!plan) return CUDPP_ERROR_UNKNOWN; else { *planHandle = plan->getHandle
(); return CUDPP_SUCCESS; } }

相關推薦

CUDPP基本執行過程分析

CUDPPResult cudppPlan(constCUDPPHandle cudppHandle, CUDPPHandle*planHandle, CUDPPConfiguration config, size_t numElements, size_t n

u-boot、kernel和filesystem 執行過程分析

標題:   Uboot -kerne-root 啟動流程 內容:   ※uboot啟動流程   ※Kernel啟動流程   ※Root啟動流程   ※構建根檔案系統   /********************************* *u-boot

spring MVC執行過程分析與原始碼實現

spring mvc 啟動過程可分為如下3步: =============================================                             web.xml                           Dispa

rbd map 執行過程分析

分析的 ceph 程式碼版本:  12.2.4 分析的 kernel 程式碼版本:  4.16.0 在執行 `rbd map <pool_name>/<image_name>` ,整個執行流程是如何完成的呢? 這個 map 主要可以分為兩個部

從JS執行過程分析閉包的概念

(自己理解,有誤請指正 ) 首先,閉包這個詞真讓人難理解,中華文化博大精深,講究見名知意,但是閉包確實是理解一門語言特性中不可或缺的一個東西,網路上資料千奇百怪,講了一通也很難讓人有醍醐灌頂的感覺,這裡我來說一說我對閉包的理解: # 閉包是和特定語言無關的東西 # 閉包是指的是通過特

Rxjava2原始碼分析(一):Flowable的建立和基本使用過程分析

本文用於記錄一下自己學習Rxjava2原始碼的過程。首先是最簡單的一個使用方法(未做執行緒切換),用來學習Flowable的建立和使用。Flowable .create(new FlowableOnSubscribe<Object>() {

RMI執行過程分析

客戶端程式碼 public class RMIClient { public static void main(String... args) throws RemoteException, NotBoundException, Malformed

Spring基本執行過程解析

一。基本過程 1.當建立一個上下文: ApplicationContext applicationContext=new ClassPathXmlApplicationContext("sprin

Mapreduce執行過程分析(基於Hadoop2.4)——(一)

轉載自:http://www.cnblogs.com/Scott007/p/3836687.html 1 概述 該瞅瞅MapReduce的內部執行原理了,以前只知道個皮毛,再不搞搞,不然怎麼死的都不曉得。下文會以2.4版本中的WordCount這個經典例子作為分析的

[] taskService.completeTask(task.getId());的執行過程分析

taskservice.completetask(task.getid());單步跟蹤下去的順序1、執行函式體內,得到dbid,感覺是注入到這個id去的。在taskimpl中有setdbid的方法2、commandservice.execute(new completetas

安卓專案基本執行過程總結

專案執行概述 切換到APP專案檢視 1.首先分析Android Manifest.xml檔案 <activity android:name=".MainActivity"> <intent-filter>

【QT】Qt 5.9 QWidget程式執行過程分析

一個最簡單的QWidget程式可能是下面這個樣子: int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w; w.show();

HAL MODULE 執行過程分析

hw_get_module()->property_get(variant_keys[i],prop,NULL)->__system_property_get(key, value) ->__system_property_find(const char *name)-> __syst

quartz 2.2.x 原始碼學習 基本執行流程分析

quartz 官網中給出了一些基本概念,請先閱讀官網相關概念。 下面對最簡單的一個任務排程工作進行分析,下面的程式碼每隔三秒中不斷重複執行任務SimpleJob。 public class JobStart { public static v

multiprocessing多程序的執行過程分析

import os from multiprocessing import Process #multiprocessing 跨平臺,可以支援Linux和Windows print("***程序%d"%

系統呼叫執行過程分析

#####################################作者:張卓原創作品轉載請註明出處:《Linux作業系統分析》MOOC課程 http://www.xuetangx.com/courses/course-v1:ustcX+USTC001+_/about

HAL module執行過程分析

hw_get_module()->property_get(variant_keys[i],prop,NULL)->__system_property_get(key, value) ->__system_property_find(const char *name)-> __syst

mybatis原始碼學習之執行過程分析(2)——config.xml配置檔案和mapper.xml對映檔案解析過程

在上一篇中跟蹤了SqlSessionFactory及SqlSession的建立過程。這一篇,主要跟蹤Mapper介面和XML檔案對映及獲取。 1.xml檔案的解析 1.1Mybatis-config.xml的解析 在SqlSessionFactor

【imx6ul】U-Boot 2016.03執行過程分析-ARM Cortex-A7

uboot組織架構正在朝著linux架構方向發展,不同版本稍有不同,一下以U-Boot 2016.03為例。分析入口:以u-boot.lds(其決定了各個段的排布方式)開始:1、u-boot.lds://設定輸出檔案大小端格式 OUTPUT_FORMAT("elf32-lit

Task執行過程分析5——ReduceTask內部實現

與MapTask一樣,ReduceTask也分為四種,即Job-setup Task,Job-cleanup Task,Task-cleanup Task和Reduce Task。本文重點介紹第四種——普通Reduce Task。 Reduce Task要從各