# Run on ARM cpu server

**URL:** <https://community.konduit.ai/t/run-on-arm-cpu-server/175>\
**Category:** DL4J\
**Created:** [February 26, 2020, 5:37am UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175 "2020-02-26T05:37:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![liweigu](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/liweigu/32/68_2.png) [@liweigu](https://community.konduit.ai/u/liweigu)\
**Post date:** [February 26, 2020, 5:37am UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/1 "2020-02-26T05:37:59Z")

</div>

How to run dl4j on ARM cpu server? Do i have to compile the code on the server?

For now, i use docker arm64v8/openjdk:11-jdk on ARM cpu server to run dl4j and get error:  
java.lang.UnsatisfiedLinkError: no nd4jcpu in java.library.path: [/usr/java/packages/lib, /lib, /usr/lib]

Part of the pom.xml:  
  
\<project.build.sourceEncoding\>UTF-8\</project.build.sourceEncoding\>  
\<mkl.version\>2019.6\</mkl.version\>  
\<nd4j.backend\>nd4j-native\</nd4j.backend\>  
\<javacpp-presets.version\>1.5.2\</javacpp-presets.version\>  
\<dl4j.version\>1.0.0-beta6\</dl4j.version\>

```
<build>
	<resources>
		<resource>
			<directory>src/main/java</directory>
		</resource>
	</resources>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.5.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
	</plugins>
</build>

<dependencies>
	<!-- nd4j start -->
	<dependency>
		<groupId>org.bytedeco</groupId>
		<artifactId>javacpp</artifactId>
		<version>${javacpp-presets.version}</version>
	</dependency>
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-api</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-jackson</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>jackson</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.datavec</groupId>
		<artifactId>datavec-data-image</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-common</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-native-platform</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<!-- nd4j end -->
	<!-- dl4j start -->
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-core</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-nn</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-ui</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-ui-model</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<dependency>
		<groupId>org.deeplearning4j</groupId>
		<artifactId>deeplearning4j-zoo</artifactId>
		<version>${dl4j.version}</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
	<dependency>
		<groupId>org.freemarker</groupId>
		<artifactId>freemarker</artifactId>
		<version>2.3.29</version>
	</dependency>
	<dependency>
		<groupId>org.nd4j</groupId>
		<artifactId>nd4j-native</artifactId>
		<version>${dl4j.version}</version>
		<classifier>windows-x86_64-avx2</classifier>
	</dependency>
	<!-- dl4j end -->
</dependencies>

```

---

<div class="post-metadata">

**Author:** ![raver119](https://avatars.discourse-cdn.com/v4/letter/r/9de053/32.png) [@raver119](https://community.konduit.ai/u/raver119)\
**Post date:** [February 26, 2020, 5:41am UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/2 "2020-02-26T05:41:04Z")

</div>

Either specify nd4j-native-platform as dependency, or use arm classifier.

---

<div class="post-metadata">

**Author:** ![treo](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/treo/32/47_2.png) [@treo](https://community.konduit.ai/u/treo)\
**Post date:** [February 26, 2020, 6:49am UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/3 "2020-02-26T06:49:54Z")

</div>

> [@liweigu](#):
>
> nd4j-native-platform

It looks like you actually have the platform artifact. But maybe your arm server is different from what we support directly.

Can you share with us some more information. In particular the output of the following commands:  
`uname -a`  
`cat /proc/cpuinfo`

---

<div class="post-metadata">

**Author:** ![liweigu](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/liweigu/32/68_2.png) [@liweigu](https://community.konduit.ai/u/liweigu)\
**Post date:** [February 26, 2020, 10:30am UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/4 "2020-02-26T10:30:09Z")

</div>

It seems that there is no arm jar(s) on [https://oss.sonatype.org](https://oss.sonatype.org) for beta-6 or snapshots.  
Where can i get it?

The server infomation:  
uname -r  
4.14.0-115.el7a.0.1.aarch64  
cat /proc/cpuinfo  
processor : 0  
BogoMIPS : 200.00  
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop  
CPU implementer : 0x48  
CPU architecture: 8  
CPU variant : 0x1  
CPU part : 0xd01  
CPU revision : 0

processor : 1  
…

---

<div class="post-metadata">

**Author:** ![treo](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/treo/32/47_2.png) [@treo](https://community.konduit.ai/u/treo)\
**Post date:** [February 26, 2020, 11:00am UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/5 "2020-02-26T11:00:20Z")

</div>

Unfortunately we don’t have any released Linux Aarch64 artifacts at the moment. And compiling it yourself isn’t all done yet either: [Jetson Nano resolves to non existing architecture (linux-aarch64) · Issue #8726 · eclipse/deeplearning4j · GitHub](https://github.com/eclipse/deeplearning4j/issues/8726)

I guess you are using the ARM Servers from Huawei Cloud?

---

<div class="post-metadata">

**Author:** ![liweigu](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/liweigu/32/68_2.png) [@liweigu](https://community.konduit.ai/u/liweigu)\
**Post date:** [February 26, 2020, 1:43pm UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/6 "2020-02-26T13:43:45Z")

</div>

So it cannot be fixed by compiling it myself.

It’s Huawei’s server, but not from Huawei Cloud.  
Handle 0x0001, DMI type 1, 27 bytes  
System Information  
Manufacturer: Huawei  
Product Name: TaiShan 2280 V2

---

<div class="post-metadata">

**Author:** ![treo](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/treo/32/47_2.png) [@treo](https://community.konduit.ai/u/treo)\
**Post date:** [February 26, 2020, 1:51pm UTC](https://community.konduit.ai/t/run-on-arm-cpu-server/175/7 "2020-02-26T13:51:57Z")

</div>

> So it cannot be fixed by compiling it myself.

As of this moment this is true. I expect that we will either have an artifact for it in the next release or at least allow it to be compiled for that platform soon.

If you want to try compiling it yourself, track the linked issue. As soon as it is closed, you should be able to compile there.
