Skip to content
Snippets Groups Projects
Commit 4823044d authored by carlosuc3m's avatar carlosuc3m
Browse files

add message for systems using rosetta

parent e52406bc
Branches
Tags
No related merge requests found
...@@ -73,24 +73,55 @@ public class DeepLearningVersionSelector extends EzPlug implements EzStoppable, ...@@ -73,24 +73,55 @@ public class DeepLearningVersionSelector extends EzPlug implements EzStoppable,
@Override @Override
protected void initialize() protected void initialize()
{ {
if (new PlatformDetection().getOs().equals(PlatformDetection.ARCH_ARM64)) { PlatformDetection system = new PlatformDetection();
MessageDialog.showDialog("ARM64 chips and compatiblity with Deep Learnign engines", if (system.getArch().equals(PlatformDetection.ARCH_ARM64)) {
"This computer uses the ARM64 chip architecture. This architecture" + System.lineSeparator() arm64InfoMessage();
+ "is relatively recent, therefore many of the existing Deep Learning" + System.lineSeparator() } else if (system.isUsingRosseta()) {
+ "engines will not be available on your computer." + System.lineSeparator() rosettaInfoMessage();
+ "ARM64 chips also provide the possibility of running some x86_64" + System.lineSeparator()
+ "compiled programs using Rosetta. In order to enable Rosetta, change" + System.lineSeparator()
+ "the JAVA_HOME variable to a Java 8 or lower. Currently, the JAVA_HOME" + System.lineSeparator()
+ "points to:" + System.lineSeparator() + System.getProperty("java.home") + System.lineSeparator()
+ "Using Rosetta will enable more Deep Learning engines, although some" + System.lineSeparator()
+ "will still be missing." + System.lineSeparator()
+ "For more information, go to the Wiki: " + System.lineSeparator() + Constants.WIKI_LINK,
MessageDialog.INFORMATION_MESSAGE);
} }
String[] versionStrings = versions.keySet().stream().sorted().toArray(String[]::new); String[] versionStrings = versions.keySet().stream().sorted().toArray(String[]::new);
varInVersion = new EzVarText("Version", versionStrings, getDefaultVersionIndex(versionStrings), false); varInVersion = new EzVarText("Version", versionStrings, getDefaultVersionIndex(versionStrings), false);
addEzComponent(varInVersion); addEzComponent(varInVersion);
} }
/**
* Display information message about the inconveniences using arm64 chips
*/
private void arm64InfoMessage() {
MessageDialog.showDialog("ARM64 chips and compatiblity with Deep Learnign engines",
"This computer uses the ARM64 chip architecture. This architecture" + System.lineSeparator()
+ "is relatively recent, therefore many of the existing Deep Learning" + System.lineSeparator()
+ "engines will not be available on your computer." + System.lineSeparator()
+ "ARM64 chips also provide the possibility of running some x86_64" + System.lineSeparator()
+ "compiled programs using Rosetta. In order to enable Rosetta, change" + System.lineSeparator()
+ "the JAVA_HOME variable to a Java 8 or lower. Currently, the JAVA_HOME" + System.lineSeparator()
+ "points to:" + System.lineSeparator() + System.getProperty("java.home") + System.lineSeparator()
+ "Using Rosetta will enable more Deep Learning engines, although some" + System.lineSeparator()
+ "will still be missing." + System.lineSeparator()
+ "For more information, go to the Wiki: " + System.lineSeparator() + Constants.WIKI_LINK,
MessageDialog.INFORMATION_MESSAGE);
}
/**
* Display information message about the inconveniences using arm64 chips
*/
private void rosettaInfoMessage() {
MessageDialog.showDialog("Rosetta is being used",
"This computer uses the ARM64 chip architecture. Arm64 chips are" + System.lineSeparator()
+ "compatible with fewer Deep Learning engines. However, ARM64 chips" + System.lineSeparator()
+ "can replicate the \"traditional\" x86_64 architecture with Rosetta." + System.lineSeparator()
+ "Rosetta is currently enabled, allowing the use of certain Deep Learning" + System.lineSeparator()
+ "engines that would not be available for ARM64 architecture systems." + System.lineSeparator()
+ "The list of installable Deep Learning engines will be longer than the" + System.lineSeparator()
+ "list if the system was not using Rosetta, although Tensorflow 1 will" + System.lineSeparator()
+ "still be unavailable." + System.lineSeparator()
+ "In order to disable Rosetta and use the full capabilities of the ARM64" + System.lineSeparator()
+ "chip, change the JAVA_HOME to a Java distribution compatible with ARM64." + System.lineSeparator()
+ "Currently, the JAVA_HOME variable points to:" + System.lineSeparator()
+ System.getProperty("java.home") + System.lineSeparator()
+ "For more information, go to the Wiki: " + System.lineSeparator() + Constants.WIKI_LINK,
MessageDialog.INFORMATION_MESSAGE);
}
private VarString varInBlockVersion; private VarString varInBlockVersion;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment