不知道为什么今年嗨不起来,感觉不像当年 iphone X 发布那样拔掉 home 按键,加刘海
可能不是首发的原因,交互方式除了眼睛,你还是需要用手,可能是没把手拔掉的关系
因為每次計算都是照順序從 0 到 n 跑一遍不回頭,所以只要確保後來的 Core 不要追上前面的應該就沒問題?
但它計算都是從 0 到 n,而且不回頭,所以高位 (0) 這邊算完就可以讓其他 core 開始算下一輪了
我的意思是: 如果真的真的一定要平行化(主管要求還是怎樣),參考硬體的設計吧
硬體天生就是平行化
前提是你有辦法弄出 500MiB+ 的 Multi-port SRAM
整組數字在 10MiB 左右的時候,CPU 單核心運算也都夠快了
算了,我還是嘗試一下 libdivide,先把單核心計算速度提升到極限看看
我不懂為什麼需要考慮多組讀寫
像是CUDA的scheduler會想竟盡辦法隱藏存取記憶體的時間,你要做的就是去做對齊之類的
寫過
但不是要你去寫 verilog
只是去參考架構,然後用 opencl/cuda去寫
記憶體這問題,通常在存取 array 時,cuda/opencl會建議先複製到 local memory再運算,在搬移的時間 scheduler 會去排其他工作,只要做好記憶體最佳化效率可以很高
因為這個是順序運算,Temporal Locality 很糟
總之應該是要先找到寫法讓它可以 reentrant
嗯,三大卖点
1. 非常重,玻璃,铁铁铁,一堆感应器
2. 两个小时续航,够看半部戏
3. 非常贵
不知道十進制的除法器要怎麼設計,金士頓都推出非二進制的記憶體了
那你覺得以現在的科技,要打造出十進制的電腦算很難嗎?還是得靠量子電腦 🤔
不過二進位長除法每位只需要一次比較+一次減法,十進位需要多次
你猜猜為什麼 ENIAC 以後就很少有十進位電腦了
那沒什麼意義,直接把幾個 Bit 打包在一起就好了
人類發現了,與其直接用吧0進制算,算出來再轉換比較簡單(
反正你又不介意中間過程的數字長怎樣,format成10進制的意義在哪
不過那些古董電腦的設計也很有趣,可以 Variable Length Words
那根本就以前就有的功能,現在只是給你個能看到記錄就說他像,到底🤣
你要用電路造出 state 不就是建立好幾個開關(?
你要有更多 State 也可以,但電路複雜度會升高很多
Binary 多棒,CMOS 只要一個 PMOS + 一個 NMOS 就是一個 Not Gate 了
那難怪還找不到我們,行星軌道資料丟進電腦要算 10 分鐘才有結果(誤