-
Notifications
You must be signed in to change notification settings - Fork 0
/
project.clj
46 lines (40 loc) · 1.96 KB
/
project.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(let [properties (select-keys (into {} (System/getProperties))
["os.name"])
platform (apply format "%s" (vals properties))
; https://stackoverflow.com/questions/4688336/what-is-an-elegant-way-to-set-up-a-leiningen-project-that-requires-different-dep
mxnet (case platform
"Mac OS X" '[org.apache.mxnet.contrib.clojure/clojure-mxnet-osx-cpu "1.4.1"]
'[org.apache.mxnet.contrib.clojure/clojure-mxnet "1.4.1-SNAPSHOT"]) ; this one is from local .m2 repository
;'[org.apache.mxnet.contrib.clojure/clojure-mxnet-linux-cpu "1.4.1"]) ; this one form the remote repo
; _ (println (str platform mxnet))
]
(defproject deep-book "0.1.0-SNAPSHOT"
:description "MXNet Clojure version of the code for the 'Neural Networks and Deep Learning' free book"
:url "https://github.com/deem0n/deep-book-clojure"
:license {:name "MIT"
:url "https://github.com/deem0n/deep-book-clojure/blob/master/LICENSE"}
:dependencies [[org.clojure/clojure "1.10.1"]
[org.clojure/tools.cli "0.4.2"]
[org.mlflow/mlflow-client "1.0.0"]
[com.clojure-goes-fast/clj-async-profiler "0.4.0"]
~mxnet]
:main ^:skip-aot deep-book.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}}
:jvm-opts ["-Xmx4g" "-server"
; "-XX:+UseConcMarkSweepGC" ; 72.65
"-XX:+UseCompressedOops"
"-XX:+DoEscapeAnalysis"
"-XX:+AlwaysPreTouch"
;"-XX:+EliminateLocks"
; bad "-XX:+UseG1GC" ; 83
"-XX:+UseSerialGC" ; 64
;"-XX:+AggressiveOpts" ; deprecated in JDK 11
;"-XX:+UseParallelGC" ; 81
;"-XX:+UseParNewGC" ; 67.7
"-XX:+ScavengeBeforeFullGC"
"-XX:+DisableExplicitGC"
"-XX:+UseBiasedLocking"
]
))
; java -jar deep-book-clojure-0.1.0-standalone.jar [args]