cost 228 ms
以 typed-memory-view 作為參數的 Cython 擴展類型方法

[英]Cython extension type method with typed-memory-view as argument

我想使用一種將類型化內存視圖作為其 arguments 之一的方法編寫擴展類型。 MWE: main.pyx setup.py 當我運行代碼(真正的代碼)時,一切似乎都運行良好,但我收到以下編譯警告: 我不知道這是什么意思,但它只發生在擴展類型有一個將類型化內存視圖作為參數的方法時。 我應該對此做 ...

Cython Memoryview 中的陣列廣播

[英]Array-Broadcasting in Cython Memoryview

我在 cython 中創建了一個類型化的內存視圖,並想將它乘以一個標量: Function foo()執行此任務,但不是很方便/可讀。 但是,function bar()中的A *= pi行無法編譯: Invalid operand types for '*' (double_t[:, :]; d ...

使用 nogil 對 memoryviews 進行引用計數

[英]Reference counting of memoryviews with nogil

我不太明白如何在大型/更長的 nogil 部分中使用 memoryviews 完成引用計數。 讓我們假設基本上我所有的代碼都是 nogil,除了在深處創建一個 numpy-array-to-memoryview 。 內存視圖被返回並向上使用。 一個相當簡單的例子是 我假設當 someFun() 返回 ...

我可以在Cython中“寫入”內存視圖嗎?

[英]Can I `fwrite` a memory view in Cython?

是否可以使用ac fwrite函數將numpy數組寫入磁盤? 從Cython內存視圖文檔中,我了解到“它們可以處理C數組”,但我沒有看到此類示例。 這是我正在嘗試的: 但是我收到以下編譯錯誤: 這可能嗎? ...

Cython:了解具有間接連續內存布局的類型化內存視圖

[英]Cython: understanding a typed memoryview with a indirect_contignuous memory layout

我想更多地了解 Cython 的typed-memoryviews和內存布局indirect_contiguous 。 根據文檔,當“指針列表是連續的”時使用indirect_contiguous 。 還有一個示例用法: 因此,如果我錯了,請糾正我,但我假設“指向連續整數列表的連續指針列表”意味着類 ...

Cython - 動態2D C ++數組的Memoryview

[英]Cython - Memoryview of a dynamic 2D C++Array

目標:使用Cython從2D C ++ char數組中獲取Memoryview。 一點背景: 我有一個本機C ++庫,它生成一些數據並通過char**將它返回給Cython世界。 該數組在庫中初始化並運行,如下所示: struct Result_buffer{ char* ...

cython中的memoryview的地址相同,但是指向不同的對象

[英]Address of memoryviews in cython are the same but point to different object

問題 在cython中定義不同的對象時,內存視圖將返回相同的地址。 但是,數組本身在被索引時將被修改。 背景。 我有用cython編寫的基類和派生類。 我注意到,當我對類應用多處理時,底層緩沖區在不同的進程中發生了變化,這不是故意的。 在酸洗過程中,我編寫了一個簡單的__ ...

Cython-有效過濾類型化的內存視圖

[英]Cython - efficiently filtering a typed memoryview

此Cython函數返回numpy數組中位於一定范圍內的元素中的隨機元素: 這樣很好。 但是,此功能對於我的代碼的性能非常關鍵。 類型化的內存視圖顯然比numpy數組快得多,但是不能以與上述相同的方式對其進行過濾。 我該如何使用鍵入的memoryviews編寫一個與上述功能相同的 ...

Cython:優化本機Python內存視圖

[英]Cython: optimize native Python memoryview

我有一個函數(來自外部Python庫),它返回一個我想在Cython中處理的memoryview對象。 有沒有辦法將其轉換為字節的類型化內存視圖(無副本)以提高效率? 那我該怎么辦? 這不起作用: ...

Cython:memoryviews的size屬性

[英]Cython: size attribute of memoryviews

我在Cython中使用了很多3D memoryviews,例如 我經常要循環的所有元素a 。 我可以使用像 如果我不在乎索引i , j和k ,則進行扁平循環會更有效,例如 在這里,我需要知道數組中元素的數量( size )。 這由shape屬性中元素的乘積給出,即si ...

為什么在速度方面,cython循環的性能與python一相比降低了?

[英]why performance of cython loop has diminished in comparison with python one in terms of speed?

我正在嘗試通過使用cython功能來提高python代碼的速度。 我的python代碼由py_child和py_parent類以及py_backup函數組成,如下所示: 這與cython的實現相同,通過使用memoryviews作為一些變量: 現在我想評估函數cy_backup ...

如何訪問在cython中聲明的類的typed-memory view元素?

[英]How to access the typed-memory view element of a class declared in cython?

我是一個初學者,我相信這個問題太簡單了。 我試圖在cython中測試內存視圖,以更好地了解它們。在我的代碼中,隨着cy類元素的move我傳遞了每個內存視圖元素(例如[1,2] )。 當我打印結果時。 我得到這個: 我需要cy類打印出一個列表。 我該如何解決? 使用此代碼時 ...

cython如何實現更好的循環速度性能?

[英]How better speed performance in loops would be achieved in cython?

我已經在python中啟動了一個項目,該項目主要由循環組成。 幾天前,我讀到了有關cython的信息,它可以幫助您通過靜態鍵入來獲得更快的代碼。 我開發了這兩個函數來檢查性能(一個在python中,另一個在cython中): 我畢竟使用下面的代碼來測試性能: 但是我沒有發現任 ...

在Cython腳本中使用memset而不是np.zeros來提高速度

[英]Using memset instead of np.zeros in a Cython script for speed gains

我開始研究到Fortran庫(BLAS / LAPACK)的SciPy接口,可以在這里看到: 使用SciPy接口和Cython直接調用BLAS / LAPACK,並提出了一個解決方案,但不得不求助於使用numpy.zeros直接調用Fortran代碼會扼殺任何速度提升。 問題是Fortran代 ...

將強制轉換錯誤'__Pyx_memviewslice'鍵入為'double *'Cython,這等效於什么? MKL函數prange代碼

[英]Type cast error '__Pyx_memviewslice' to 'double *' Cython, what's the equivalent? MKL function prange code

我編寫了一個Cython程序,調用Intel MKL進行矩陣乘法,目的是使其並行。 它基於鏈接到BLAS的舊SO帖子,並使用了許多我從未見過的Cython方法,但是使它起作用了,並且比NumPy(也鏈接到MKL)要慢得多。 為了加快速度,我使用了典型的Memoryview格式(它使用ndar ...

嘗試使用Cythons內存視圖時出現語法錯誤

[英]Syntax Error while trying to use Cythons memoryviews

我正在memoryviews上遵循此指南 。 但是,當我在Jupyter的“快速入門”部分中嘗試代碼時,出現了以下錯誤: 我什至不知道如何搜索此錯誤,因為它與語法有關,但是Cython.org建議使用此語法。 我認為這可能是因為我在錯誤的地方(而不是在Jupyter平台上)使用 ...

在bytes對象上獲取指向python memoryview的指針

[英]Obtaining pointer to python memoryview on bytes object

我有一個python memoryview指向一個bytes對象,我想在cython中執行一些處理。 我的問題是: 因為bytes對象不可寫,所以cython不允許從中構造一個類型化的(cython)內存視圖 我也不能使用指針,因為我無法獲得指向memoryview st ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM