如今,Android 設備功能非常強大,您幾乎可以將其用作獨立桌面。我有一台舊的 Acer 5515 筆記型電腦,配備單核心 AMD 處理器,我還有一個四代碼 android,我想使用它的處理器能力 (android) 來提高我的筆記型電腦效能。我搜尋了谷歌,目前還沒有人。那麼這裡有人可以建議什麼嗎?我可以用 c# 和 android 編寫程式碼,並且我想到使用 USB 介面/API 傳輸資料。
答案1
由於多種原因,這實際上是不可能的。
首先也是最重要的事實是,您的手機處理器和筆記型電腦處理器幾乎沒有任何共同點。它們是完全不同的架構,而且程式碼不相容。您想要在其中運行的任何程式碼將不會能夠運行另一個而無需很多工作的。
認為行動處理器與桌上型電腦處理器一樣強大的假設也是一個謬論。行動電話處理器專為低功耗而設計,通常具有 <5 瓦的處理器,筆記型電腦具有 >35 瓦的處理器,而桌上型電腦則高達 100 瓦。這些數字不僅意味著桌上型電腦效率極低,而且行動和桌上型電腦處理器之間的複雜性存在數量級差異。
您可以嘗試向我訴說它們都運行 Java,但 Java 是一種解釋性語言,需要在運行程式碼的機器上有 JIT 編譯器。該編譯器必須根據其運行的體系結構進行定制,並且一個編譯器支援的功能不一定得到另一個編譯器的支援。
即使您的手機和筆記型電腦處理器架構相容,這仍然不是一件容易的事。假設您希望手機完成播放影片等主要繁重工作。影片解碼並不像您想像的那麼容易。您的手機具有能夠解碼視頻的專用硬件,如果您想在計算機上觀看視頻,則必須通過網絡將處理後的數據發送回您的計算機。這意味著它必須將其重新編碼為您計算機上的內容可以儘管您認為您的行動裝置具有強大的操控性和強大的功能,但對於許多桌上型電腦來說,這項壯舉已經足夠困難,並且遠遠超出了行動裝置的即時能力。
如果沒有主要的基礎設施來支援它,您不能簡單地「打包」一些工作並將它們傳送到其他地方,然後將它們取回。 Folding@Home 這樣做的原因是因為他們可以打包一個專用的軟體在每台機器上運行,然後打包大塊的工作讓每台機器執行並將結果發送回來。對於每個值得拆分的“包”,首先必須花費相當長的時間來抵消包裝成本。沒有任何現實的方法可以將少量工作打包起來,例如,以任何方式顯示網頁,這比一開始就在筆記型電腦上執行更快。
答案2
是的,你絕對可以做到這一點。但前提是兩台裝置上都有 Linux 環境。如果您的行動處理器有超過 4 個核心,或者可以說是四核心。因為如果它小於 4,那麼做這些事就沒有意義了。為此,您需要學習開放 MPI(開放訊息傳遞介面)。這是由 Cisco 和 Amazon 開發的 C 程式庫。它也可以在 java 中使用,但我建議使用 C 而不是 java。因為C 比java 快很多,這裡我們討論的是速度。 Open MPI 提供單一任務的分散式處理。您也可以使用 1 部以上智慧型手機。如果您的一個節點是主節點,通常是電腦或筆記型電腦,其他節點將成為從節點。您的主節點將決定任務,分發給從屬節點並從從屬節點返回計算結果。即使您可以使用任何其他計算機作為從屬計算機。但這仍然是非常非常困難的任務,因為您必須為要執行的每個不同任務開發主程式和從程式。
如果我犯了任何語法錯誤,我很抱歉。我不太懂英語。
Open MPI 的基本資訊: https://en.wikipedia.org/wiki/Open_MPI
在 LAN 內運行 MPI 叢集: http://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/
例如:15418.courses.cs.cmu.edu/spring2013/article/22
下載:www.open-mpi.org/software/ompi/v2.1/
答案3
實際上,如果您有建置伺服器,這是可能的:-)
最好的方法是在android中安裝完整的linux環境。名為 Complete linux installer 的應用程式可以執行此操作(root)。
但大多數發行版不提供交叉編譯器。此外,ARM 裝置處理桌面工作的能力太弱。
如果您想提高編譯體驗,是的。
但如果從整體經驗來看,這幾乎是不可能的。
答案4
每個軟體可能完成,它必須是特定的並且每個內核元素完成,這樣當您完成每個軟體時,甚至在您忘記為特定編碼實體抽象的概念之前,您已經輸入/編譯,甚至記錄了來源代碼。如果您要分配整個系統的任務,那麼這將是一項非常血腥的任務,因此按片段進行,但首先概述系統如何決定或優先考慮將計算分配給什麼(首先),然後為每個代理設備編寫程式碼,呃,這將是如果它是一個分配 CPU 計算任務的實用軟體,並且主設備在這種情況下就像伺服器一樣,那就容易多了。