Group Abstract Group Abstract

Message Boards Message Boards

2
|
7.6K Views
|
4 Replies
|
2 Total Likes
View groups...
Share
Share this post:

Installing ARM Mathematica Version with GUI on Android Devices using Termux-x11

POSTED BY: Quan Le Thien
4 Replies
Posted 1 year ago

Will you provide links to the guide of installing and configuring termux and termux-x11?

POSTED BY: Updating Name

No noticeable difference from users' POV. All commands and interfaces are exactly the same!

ARM refers to the CPU architecture that most mobile devices and apple are using. The so-called regular version is built only for x86 CPUs (AMD and Intel PC CPUs), thus it cannot run natively on mobile devices CPUs. You can install Virtual Machine on android to emulate, but the speed will be really slow.

This method uses the less well-known built of Mathematica intended originally for the Raspberry Pi which uses ARM architecture CPU. Hence, you can enjoy the usual native speed as on a normal PC.

Having said that, one potential issue is that most ARM mobile CPUs uses hybrid big + little cores, thus if you use multi-threaded commands such as ParallelTable, you will sometimes see that some how running things in parallel can be significantly slower than the usual single-threaded Table. This is because Mathematica does not know how to divide the work appropriately between big and little cores. The little cores will receive the same amount of work as the big core, but because they are much weaker, they take longer to acomplish the task, thus when the big cores finish their work, the little cores are still evaluating. I also encounter this issue with the latest Intel CPUs. One way to circumvent this problem is to use thread affinity that tie Mathematica Kernel to only the big cores or just stick with the single-threaded commands.

POSTED BY: Quan Le Thien
Posted 1 year ago
POSTED BY: Yumin Tian
POSTED BY: Quan Le Thien
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard