You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by ni...@apache.org on 2017/05/03 00:33:28 UTC
incubator-systemml git commit: [MINOR] Show native library paths only
when log4j is set debug or lower level
Repository: incubator-systemml
Updated Branches:
refs/heads/master 47c2dd10f -> aa6d38c94
[MINOR] Show native library paths only when log4j is set debug or lower
level
Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/aa6d38c9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/aa6d38c9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/aa6d38c9
Branch: refs/heads/master
Commit: aa6d38c94b632d7fb09869a78887df8485ddeaf3
Parents: 47c2dd1
Author: Niketan Pansare <np...@us.ibm.com>
Authored: Tue May 2 17:32:53 2017 -0700
Committer: Niketan Pansare <np...@us.ibm.com>
Committed: Tue May 2 17:32:53 2017 -0700
----------------------------------------------------------------------
.../org/apache/sysml/utils/NativeHelper.java | 30 +++++++++++---------
1 file changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/aa6d38c9/src/main/java/org/apache/sysml/utils/NativeHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/utils/NativeHelper.java b/src/main/java/org/apache/sysml/utils/NativeHelper.java
index 303b7a8..7de52fd 100644
--- a/src/main/java/org/apache/sysml/utils/NativeHelper.java
+++ b/src/main/java/org/apache/sysml/utils/NativeHelper.java
@@ -115,22 +115,24 @@ public class NativeHelper {
String blasPathAndHint = "";
// ------------------------------------------------------------
// This logic gets the list of native libraries that are loaded
- try {
- java.lang.reflect.Field loadedLibraryNamesField = ClassLoader.class.getDeclaredField("loadedLibraryNames");
- loadedLibraryNamesField.setAccessible(true);
- @SuppressWarnings("unchecked")
- Vector<String> libraries = (Vector<String>) loadedLibraryNamesField.get(ClassLoader.getSystemClassLoader());
- LOG.debug("List of native libraries loaded:" + libraries);
- for(String library : libraries) {
- if(library.endsWith("libmkl_rt.so"))
- blasPathAndHint = " from the path " + library;
- else if(library.endsWith("libopenblas.so")) {
- blasPathAndHint = " from the path " + library + ". Hint: Please make sure that the libopenblas.so is built with GNU OpenMP threading (ldd " + library + " | grep libgomp).";
+ if(LOG.isDebugEnabled()) {
+ // Only perform the checking of library paths when DEBUG is enabled to avoid runtime overhead.
+ try {
+ java.lang.reflect.Field loadedLibraryNamesField = ClassLoader.class.getDeclaredField("loadedLibraryNames");
+ loadedLibraryNamesField.setAccessible(true);
+ @SuppressWarnings("unchecked")
+ Vector<String> libraries = (Vector<String>) loadedLibraryNamesField.get(ClassLoader.getSystemClassLoader());
+ LOG.debug("List of native libraries loaded:" + libraries);
+ for(String library : libraries) {
+ if(library.contains("libmkl_rt") || library.contains("libopenblas")) {
+ blasPathAndHint = " from the path " + library;
+ break;
+ }
}
+ } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
+ LOG.debug("Error while finding list of native libraries:" + e.getMessage());
}
- } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
- LOG.debug("Error while finding list of native libraries:" + e.getMessage());
- }
+ }
// ------------------------------------------------------------
LOG.info("Using native blas: " + blasType + blasPathAndHint);