Post

Replies

Boosts

Views

Activity

Reply to Data Science on Apple Silicon: new distros and builds for R, Python, Julia?
For the Python ecosystem, the conda-forge distribution is already supporting Apple Silicon in native ARM64 mode (without Rosetta 2). https://github.com/conda-forge/miniforge#miniforge3 (choose the osx-arm64 variant). It ships compilers up to date compilers (clang for C/C++ including llvm-openmp and gfortran for Fortran): 	c-compiler												 1.1.3	h27ca646_0					conda-forge/osx-arm64		 Cached 	cctools													949.0.1	ha9384d2_18				 conda-forge/osx-arm64		 Cached 	cctools_osx-arm64								949.0.1	h1c8944f_18				 conda-forge/osx-arm64		 Cached 	clang														 11.0.0	hce30654_2					conda-forge/osx-arm64		 Cached 	clang-11													11.0.0	default_h87665d4_2	conda-forge/osx-arm64		 Cached 	clang_osx-arm64									 11.0.0	h54d7cd3_8					conda-forge/osx-arm64		 Cached 	clangxx													 11.0.0	default_hbe4449c_2	conda-forge/osx-arm64		 Cached 	clangxx_osx-arm64								 11.0.0	hb84c830_8					conda-forge/osx-arm64		 Cached 	compiler-rt											 11.0.0	h9316cab_2					conda-forge/osx-arm64		 Cached 	compiler-rt_osx-arm64						 11.0.0	hd64e075_2					conda-forge/noarch				Cached 	compilers													1.1.3	hce30654_0					conda-forge/osx-arm64		 Cached 	cxx-compiler											 1.1.3	h260d524_0					conda-forge/osx-arm64		 Cached 	fortran-compiler									 1.1.3	h630c574_0					conda-forge/osx-arm64		 Cached 	gfortran_impl_osx-arm64			11.0.0.dev0	h2cdbfd1_13				 conda-forge/osx-arm64		 Cached 	gfortran_osx-arm64					 11.0.0.dev0	h617dd65_10				 conda-forge/osx-arm64		 Cached 	gmp																6.2.1	h9f76cd9_0					conda-forge/osx-arm64		 Cached 	isl															 0.22.1	hb904e53_2					conda-forge/osx-arm64		 Cached 	ld64																 530	h08716b2_18				 conda-forge/osx-arm64		 Cached 	ld64_osx-arm64											 530	h8a2aa15_18				 conda-forge/osx-arm64		 Cached 	ldid															 2.1.2	h34db0f2_2					conda-forge/osx-arm64		 Cached 	libclang-cpp11										11.0.0	default_h87665d4_2	conda-forge/osx-arm64		 Cached 	libcxx														11.0.0	h7cf67bf_1					conda-forge/osx-arm64		 Cached 	libgfortran									 5.0.0.dev0	h181927c_13				 conda-forge/osx-arm64		 Cached 	libgfortran-devel_osx-arm64	11.0.0.dev0	h181927c_13				 conda-forge/noarch				Cached 	libgfortran5								 11.0.0.dev0	h181927c_13				 conda-forge/osx-arm64		 Cached 	libiconv														1.16	h642e427_0					conda-forge/osx-arm64		 Cached 	libllvm11												 11.0.0	h8522ed7_0					conda-forge/osx-arm64		 Cached 	llvm-openmp											 11.0.0	hdb94862_1					conda-forge/osx-arm64		 Cached 	llvm-tools												11.0.0	h8522ed7_0					conda-forge/osx-arm64		 Cached 	mpc																1.1.0	hb760245_1009			 conda-forge/osx-arm64		 Cached 	mpfr															 4.0.2	hbc63f68_1					conda-forge/osx-arm64		 Cached 	tapi													 1100.0.11	he4954df_0					conda-forge/osx-arm64		 Cached 	zlib															1.2.11	h31e879b_1009			 conda-forge/osx-arm64		 Cached numpy and scipy link against OpenBLAS 0.3.12 with OpenMP and while I am not sure it can use all the SIMD bells and whistles of the M1 instruction set, the SGEMM performance seems good enough on the MacBook Air with M1: import numpy as np X = np.random.randn(4096, 4096).astype(np.float32) out = np.empty_like(X) %timeit np.dot(X.T, X, out=out) 275 ms ± 26.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Dec ’20