# 7.13。 Numba 項目路線圖
> 原文: [http://numba.pydata.org/numba-doc/latest/developer/roadmap.html](http://numba.pydata.org/numba-doc/latest/developer/roadmap.html)
注意
本頁最后修訂于 _2018 年 12 月 _。
本路線圖僅供參考。優先級和資源發生變化,因此我們可能會選擇重新排序或放棄此列表中的內容。此外,進一步的項目,它們將變得越來越具體。如果您有興趣處理其中一個項目,請打開一個我們可以先討論設計和方法的問題。
## 7.13.1。短期:2019H1
* 容器改進:
* Numba 字典支持
* 重構列表以遵循新的容器最佳實踐。參見 [issue 3546](https://github.com/numba/numba/issues/3546#issuecomment-443008201) 中的討論。
* 棄用 Python 2.7 支持
* 改善緩存:
* 完全支持使用 ParallelAccelerator 編譯的函數
* 生成函數的安全緩存(字符串的 eval)
* 當調用鏈中的任何函數(甚至在其他文件中)發生更改時,將使緩存過期
* 分發預先填充的緩存的過程
* 繼續提高可用性和調試:
* 在管道中捕獲更多不受支持的功能(特別是那些 parfors 無法處理的功能)
* 錯誤消息
* 用于調試和理解性能的診斷工具
* 更好地為新用戶和貢獻者加入(修改文檔,更多示例)
* 開始重構導致常見錯誤報告的現有功能:
* 增強 Numba 函數提供的接口描述,以提供更多類型信息
* 轉換舊的 Numba 函數實現以使用公共擴展機制
* 更多單元測試和 ParallelAccelerator 的模塊化通過
## 7.13.2。中期:2019H2
* 統一調度常規函數,ufunc 和 gufunc
* 使用穩定的接口聲明 Numba 1.0
* 繼續提高可用性和調試(見上文)
* 繼續重構 Numba 內部以解決常見錯誤報告(見上文)
* JIT 課程的審查和改進
* 提高編譯速度
* 改善 Numba 分配內存的內存管理
* 更好地支持編寫代碼轉換過程
* 使緩存和并行執行功能選擇退出而不是選擇加入
* 添加啟發式以確定 parfor 通行證是否有益
## 7.13.3。長期:2020 年及以后
* 統一 GPU 后端(共享更多代碼和接口)
* 提前改進編譯(適用于低功耗設備)
* 改善跨語言連接(C ++,JVM?,Julia?,R?)
* 從其他語言中調用 Numba,
* 從 Numba 打電話到其他語言
* 更好地支持“混合”CPU / GPU / TPU /等編程
* 部分/延期編譯功能
* 促進 Numba 與核心 PyData 包的集成:
* SciPy 的/ scikit 學習/ scikit 圖像/熊貓
* 更多支持將 Numba 用于編譯用戶定義函數的其他應用程序(數據庫等)的工作
* 更多支持使用 Numba 作為“編譯工具包”來創建自定義編譯器(如 HPAT,自動區分功能等)
* 除了現有的基于字節碼的前端之外,還要研究基于 AST 的 Numba 前端
- 1. 用戶手冊
- 1.1。 Numba 的約 5 分鐘指南
- 1.2。概述
- 1.3。安裝
- 1.4。使用@jit 編譯 Python 代碼
- 1.5。使用@generated_jit 進行靈活的專業化
- 1.6。創建 Numpy 通用函數
- 1.7。用@jitclass 編譯 python 類
- 1.8。使用@cfunc 創建 C 回調
- 1.9。提前編譯代碼
- 1.10。使用@jit 自動并行化
- 1.11。使用@stencil裝飾器
- 1.12。從 JIT 代碼 中回調到 Python 解釋器
- 1.13。性能提示
- 1.14。線程層
- 1.15。故障排除和提示
- 1.16。常見問題
- 1.17。示例
- 1.18。會談和教程
- 2. 參考手冊
- 2.1。類型和簽名
- 2.2。即時編譯
- 2.3。提前編譯
- 2.4。公用事業
- 2.5。環境變量
- 2.6。支持的 Python 功能
- 2.7。支持的 NumPy 功能
- 2.8。與 Python 語義的偏差
- 2.9。浮點陷阱
- 2.10。 Python 2.7 壽命終止計劃
- 3. 用于 CUDA GPU 的 Numba
- 3.1。概述
- 3.2。編寫 CUDA 內核
- 3.3。內存管理
- 3.4。編寫設備功能
- 3.5。 CUDA Python 中支持的 Python 功能
- 3.6。支持的原子操作
- 3.7。隨機數生成
- 3.8。設備管理
- 3.10。示例
- 3.11。使用 CUDA 模擬器 調試 CUDA Python
- 3.12。 GPU 減少
- 3.13。 CUDA Ufuncs 和廣義 Ufuncs
- 3.14。共享 CUDA 內存
- 3.15。 CUDA 陣列接口
- 3.16。 CUDA 常見問題
- 4. CUDA Python 參考
- 4.1。 CUDA 主機 API
- 4.2。 CUDA 內核 API
- 4.3。內存管理
- 5. 用于 AMD ROC GPU 的 Numba
- 5.1。概述
- 5.2。編寫 HSA 內核
- 5.3。內存管理
- 5.4。編寫設備功能
- 5.5。支持的原子操作
- 5.6。代理商
- 5.7。 ROC Ufuncs 和廣義 Ufuncs
- 5.8。示例
- 6. 擴展 Numba
- 6.1。高級擴展 API
- 6.2。低級擴展 API
- 6.3。示例:間隔類型
- 7. 開發者手冊
- 7.1。貢獻給 Numba
- 7.2。 Numba 建筑
- 7.3。多態調度
- 7.4。關于發電機的注意事項
- 7.5。關于 Numba Runtime 的注意事項
- 7.6。使用 Numba Rewrite Pass 獲得樂趣和優化
- 7.7。實時變量分析
- 7.8。上市
- 7.9。模板注釋
- 7.10。關于自定義管道的注意事項
- 7.11。環境對象
- 7.12。哈希 的注意事項
- 7.13。 Numba 項目路線圖
- 8. Numba 增強建議
- 9. 術語表