發表文章

目前顯示的是 1月, 2022的文章

[筆記] Python multi-process task in Docker Container

圖片
Python multi-process task in Docker Container container setting 啟動 container 時要做一些設定 假設我的機器有個 8 核心 CPU,以及多張 GPU 要讓 container 使用全部運算資源的話可以這樣設定 docker run --gpus all --cpus 8 --cpuset-cpus 0-7 (後略...) 參數設定 --cpuset-cpus 0-7 8 核心的 cpu 編號從 0 開始到 7 如果想指定 cpu 特定某幾個核心的話可以這樣改: --cpuset-cpus 0,7  使用第一個跟最後一個核心 --cpuset-cpus 0,2,4,6  使用第 1,3,5,7 個核心 ref:  https://docs.docker.com/config/containers/resource_constraints/ python 使用 multiprocessing 查看 cpu 核心數 import multiprocessing cpus = multiprocessing.cpu_count() print (cpus) # 8 假設我們有個任務名稱叫做 sleep_task,執行每個運算時都會睡一秒 如果數據量超大,使用單個核心會等到天荒地老 import time # task 內容: 睡一秒後再做放大兩倍的運算 def sleep_task ( input_list ): res = [] for x in input_list: time.sleep( 1 ) res.append(x* 2 ) return res if __name__ == '__main__' : # Single-process start start_time = time.time() input_list = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 ] sp_result = sleep_task(input_list) #

[筆記] Julia 1.7.1 環境安裝於 ubuntu 20.04

圖片
Julia 1.7.1 環境安裝於 ubuntu 20.04 本篇單純做個紀錄,給自己日後方便查詢 下載 julia https://julialang.org/downloads/ 我下載版本是1.7.1 安裝 在/opt 裡面建一個 julia 資料夾 sudo mkdir /opt/julia 解壓縮到那個目錄裡面 sudo tar xf julia-1.7.1-linux-x86_64.tar.gz --strip-components=1 -C /opt/julia 建立 symbolic link sudo ln -s /opt/julia/bin/* /usr/local/bin 簡單測試一下 julia 的 command 是否 work! julia --version 可以看到 output:  julia version 1.7.1 到這個步驟就安裝完成! 可以把剛剛下載的 julia-1.7.1-linux-x86_64.tar.gz 檔案刪掉 測試 來個 julia 版本的 Hello World! 使用文字編輯器創一個檔案 hello.jl vim hello.jl 在 hello.jl 裡面寫一行 println( "Hello world" ) 執行 julia 程式 julia hello.jl 可以看到 output:  Hello world 解除安裝 直接刪除資料夾 & 刪除 symbolic link 即可 sudo rm -rf /opt/julia sudo find /usr/local/bin -lname '/opt/julia/bin/*' -delete