Add new packages: ispc & embree (#19361)
* Add new package: ispc * Add new package: embree
This commit is contained in:
parent
03611f2e89
commit
0e6b818c52
73
var/spack/repos/builtin/packages/embree/package.py
Normal file
73
var/spack/repos/builtin/packages/embree/package.py
Normal file
@ -0,0 +1,73 @@
|
||||
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Embree(CMakePackage):
|
||||
"""Intel Embree High Performance Ray Tracing Kernels"""
|
||||
|
||||
homepage = "https://embree.org"
|
||||
url = "https://github.com/embree/embree/archive/v3.7.0.tar.gz"
|
||||
maintainers = ['aumuell']
|
||||
|
||||
version('3.12.1', sha256='0c9e760b06e178197dd29c9a54f08ff7b184b0487b5ba8b8be058e219e23336e')
|
||||
version('3.12.0', sha256='f3646977c45a9ece1fb0cfe107567adcc645b1c77c27b36572d0aa98b888190c')
|
||||
version('3.11.0', sha256='2ccc365c00af4389aecc928135270aba7488e761c09d7ebbf1bf3e62731b147d')
|
||||
version('3.10.0', sha256='f1f7237360165fb8859bf71ee5dd8caec1fe02d4d2f49e89c11d250afa067aff')
|
||||
version('3.9.0', sha256='53855e2ceb639289b20448ae9deab991151aa5f0bc7f9cc02f2af4dd6199d5d1')
|
||||
version('3.8.0', sha256='40cbc90640f63c318e109365d29aea00003e4bd14aaba8bb654fc1010ea5753a')
|
||||
version('3.7.0', sha256='2b6300ebe30bb3d2c6e5f23112b4e21a25a384a49c5e3c35440aa6f3c8d9fe84')
|
||||
|
||||
# default to Release, as RelWithDebInfo creates a lot of overhead
|
||||
variant('build_type', default='Release',
|
||||
description='CMake build type',
|
||||
values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
|
||||
|
||||
variant('ispc', default=True, description='Enable ISPC support')
|
||||
depends_on('ispc', when='+ispc', type='build')
|
||||
|
||||
depends_on('tbb')
|
||||
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
|
||||
args = []
|
||||
|
||||
args.append('-DBUILD_TESTING=OFF')
|
||||
args.append('-DEMBREE_TUTORIALS=OFF')
|
||||
args.append('-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=ON')
|
||||
|
||||
if 'ispc' in spec:
|
||||
args.append('-DEMBREE_ISPC_SUPPORT=ON')
|
||||
else:
|
||||
args.append('-DEMBREE_ISPC_SUPPORT=OFF')
|
||||
|
||||
# code selection and defines controlling namespace names are based on
|
||||
# defines controlled by compiler flags, so disable ISAs below compiler
|
||||
# flags chosen by spack
|
||||
if spec.target >= 'nehalem':
|
||||
args.append('-DEMBREE_ISA_SSE2=OFF')
|
||||
else:
|
||||
args.append('-DEMBREE_ISA_SSE2=ON')
|
||||
|
||||
if spec.target >= 'sandybridge':
|
||||
args.append('-DEMBREE_ISA_SSE42=OFF')
|
||||
else:
|
||||
args.append('-DEMBREE_ISA_SSE42=ON')
|
||||
|
||||
if spec.target >= 'haswell':
|
||||
args.append('-DEMBREE_ISA_AVX=OFF')
|
||||
else:
|
||||
args.append('-DEMBREE_ISA_AVX=ON')
|
||||
|
||||
if spec.target >= 'skylake_avx512':
|
||||
args.append('-DEMBREE_ISA_AVX2=OFF')
|
||||
else:
|
||||
args.append('-DEMBREE_ISA_AVX2=ON')
|
||||
|
||||
args.append('-DEMBREE_ISA_AVX512SKX=ON')
|
||||
|
||||
return args
|
@ -0,0 +1,28 @@
|
||||
From 44250379632ace94b08ff2dba17c69d3f36d5ffb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Martin=20Aumu=CC=88ller?= <aumuell@reserv.at>
|
||||
Date: Sun, 27 Sep 2020 20:23:42 +0200
|
||||
Subject: [PATCH] don't assume that ncurses & zlib are system libraries
|
||||
|
||||
---
|
||||
CMakeLists.txt | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2bb4a7e6..53239a88 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -473,7 +473,10 @@ else()
|
||||
if (ISPC_STATIC_LINK)
|
||||
target_link_libraries(${PROJECT_NAME} pthread z.a tinfo.a curses.a)
|
||||
else()
|
||||
- target_link_libraries(${PROJECT_NAME} pthread z tinfo curses)
|
||||
+ find_package(Curses REQUIRED)
|
||||
+ find_package(ZLIB REQUIRED)
|
||||
+ find_library(NCURSES_TINFO_LIBRARY tinfo)
|
||||
+ target_link_libraries(${PROJECT_NAME} pthread ${ZLIB_LIBRARIES} ${NCURSES_TINFO_LIBRARY} ${CURSES_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
--
|
||||
2.29.0
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 0b68b43ec71130e1167d9ff59d5f874be47a9414 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Martin=20Aumu=CC=88ller?= <aumuell@reserv.at>
|
||||
Date: Sun, 18 Oct 2020 21:02:32 +0200
|
||||
Subject: [PATCH] fix linking against llvm 10
|
||||
|
||||
---
|
||||
CMakeLists.txt | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 68759c14..f4499c8f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -401,6 +401,9 @@ target_link_libraries(${PROJECT_NAME} ${LLVM_LIBRARY_LIST})
|
||||
if (WIN32)
|
||||
target_link_libraries(${PROJECT_NAME} version.lib shlwapi.lib odbc32.lib odbccp32.lib)
|
||||
else()
|
||||
+ if (CMAKE_DL_LIBS)
|
||||
+ target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS})
|
||||
+ endif()
|
||||
if (APPLE)
|
||||
target_link_libraries(${PROJECT_NAME} pthread z curses)
|
||||
else()
|
||||
--
|
||||
2.28.0
|
||||
|
49
var/spack/repos/builtin/packages/ispc/package.py
Normal file
49
var/spack/repos/builtin/packages/ispc/package.py
Normal file
@ -0,0 +1,49 @@
|
||||
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
|
||||
# ispc requires <gnu/stubs-32.h>, e.g. from
|
||||
# glibc-devel.i686 (CentoOS) or libc6-dev-i386 and g++-multilib (Ubuntu)
|
||||
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
class Ispc(CMakePackage):
|
||||
"""Intel Implicit SPMD Program Compiler
|
||||
|
||||
An open-source compiler for high-performance SIMD programming on the CPU"""
|
||||
|
||||
homepage = "https://ispc.github.io"
|
||||
url = "https://github.com/ispc/ispc/tarball/v1.14.1"
|
||||
maintainers = ['aumuell']
|
||||
|
||||
version('1.14.1', sha256='ca12f26dafbc4ef9605487d03a2156331c1351a4ffefc9bab4d896a466880794')
|
||||
version('1.14.0', sha256='1ed72542f56738c632bb02fb0dd56ad8aec3e2487839ebbc0def8334f305a4c7')
|
||||
version('1.13.0', sha256='aca595508b51dd1ff065c406a3fd7c93822320c510077dd4d97a2b98a23f097a')
|
||||
|
||||
depends_on('python', type='build')
|
||||
depends_on('bison', type='build')
|
||||
depends_on('flex', type='build')
|
||||
depends_on('ncurses', type='link')
|
||||
depends_on('zlib', type='link')
|
||||
depends_on('llvm~libcxx')
|
||||
depends_on('llvm@10:', when='@1.14:')
|
||||
depends_on('llvm@10:10.999', when='@1.13:1.13.999')
|
||||
|
||||
patch('don-t-assume-that-ncurses-zlib-are-system-libraries.patch',
|
||||
sha256='d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc')
|
||||
|
||||
patch('fix-linking-against-llvm-10.patch', when='@1.13:1.13.999',
|
||||
sha256='d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc')
|
||||
|
||||
def cmake_args(self):
|
||||
args = []
|
||||
args.append('-DARM_ENABLED=FALSE')
|
||||
args.append('-DISPC_NO_DUMPS=ON') # otherwise, LLVM needs patching
|
||||
args.append('-DISPC_INCLUDE_EXAMPLES=OFF')
|
||||
args.append('-DISPC_INCLUDE_TESTS=OFF')
|
||||
args.append('-DISPC_INCLUDE_UTILS=OFF')
|
||||
return args
|
Loading…
Reference in New Issue
Block a user