Update to POCL 1.3.

PR:		224584
Submitted by:	ohartmann@walstatt.org (maintainer)
This commit is contained in:
Brooks Davis 2019-06-06 21:07:41 +00:00
parent 59e77cd082
commit 7e1bf9831b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=503602
9 changed files with 58 additions and 86 deletions

View File

@ -1,12 +1,11 @@
# $FreeBSD$
PORTNAME= pocl
PORTVERSION= 0.14
PORTVERSION= 1.3
DISTVERSIONPREFIX= v
CATEGORIES= lang
MASTER_SITES= SF/pocl \
http://portablecl.org/downloads/
MAINTAINER= ohartman@zedat.fu-berlin.de
MAINTAINER= ohartmann@walstatt.org
COMMENT= POrtable Computing Language (POCL)
LICENSE= MIT
@ -20,26 +19,28 @@ BUILD_DEPENDS= llvm${LLVM_VERSION}>=0:devel/llvm${LLVM_VERSION} \
LIB_DEPENDS= libhwloc.so:devel/hwloc \
libOpenCL.so:devel/ocl-icd \
libltdl.so:devel/libltdl
RUN_DEPENDS= llvm${LLVM_VERSION}>=0:devel/llvm${LLVM_VERSION}
RUN_DEPENDS= ${BUILD_DEPENDS}
LLVM_VERSION= ${MESA_LLVM_VER:U40}
LLVM_VERSION= ${MESA_LLVM_VER:U80}
USES= cmake localbase:ldflags ncurses pkgconfig
USE_CXXSTD= gnu++11
USE_GITHUB= yes
USE_LDCONFIG= yes
CMAKE_ARGS= -DWITH_LLVM_CONFIG="${LOCALBASE}/llvm${LLVM_VERSION}/bin/llvm-config" \
-DPOCL_INSTALL_PKGCONFIG_DIR="${PREFIX}/libdata/pkgconfig" \
-DKERNELLIB_HOST_CPU_VARIANTS="distro"
-DKERNELLIB_HOST_CPU_VARIANTS="distro" \
-DSINGLE_LLVM_LIB=OFF
PLIST_SUB= OPSYS=${OPSYS:tl} ARCH=${ARCH:S/amd64/x86_64/}
OPTIONS_DEFINE= TEST
OPTIONS_DEFINE= DOCS
TEST_DESC= Tests from the OpenCL book
TEST_CMAKE_OFF= -DENABLE_TESTSUITES=""
TEST_CMAKE_ON= -DENABLE_TESTSUITES="all"
TEST_TARGET= test
pre-install-TEST-on: do-test
DOCS_DESC= Build documentation (needs sphinx)
DOCS_CMAKE_OFF= -DENABLE_DOCS=OFF
DOCS_CMAKE_ON= -DENABLE_DOCS=ON
DOCS_USES= python
DOCS_BUILD_DEPENDS= ${PY_FLAVOR}-sphinx>0:textproc/py-sphinx@${PY_FLAVOR}
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1491868935
SHA256 (pocl-0.14.tar.gz) = 2127bf925a91fbbe3daf2f1bac0da5c8aceb16e2a9434977a3057eade974106a
SIZE (pocl-0.14.tar.gz) = 1231630
TIMESTAMP = 1555268767
SHA256 (pocl-pocl-v1.3_GH0.tar.gz) = 6527e3f47fab7c21e96bc757c4ae3303901f35e23f64642d6da5cc4c4fcc915a
SIZE (pocl-pocl-v1.3_GH0.tar.gz) = 1414807

View File

@ -1,21 +1,12 @@
--- CMakeLists.txt.orig 2017-04-05 14:15:40 UTC
--- CMakeLists.txt.orig 2019-04-04 12:06:59 UTC
+++ CMakeLists.txt
@@ -70,7 +70,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "a
set(ARMV6 1)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
set(ARM64 1)
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(i.86|AMD64|x86_64)")
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(i.86|amd64|AMD64|x86_64)")
if(POCL_DEVICE_ADDRESS_BITS MATCHES "32")
set(I386 1)
else()
@@ -318,6 +318,9 @@ include(CheckFunctionExists)
check_function_exists(fork HAVE_FORK)
check_function_exists(vfork HAVE_VFORK)
@@ -546,6 +546,9 @@ else()
set(HAVE_UTIME 0)
endif()
+include(CheckIncludeFiles)
+check_include_files("sys/types.h;sys/sysctl.h" HAVE_SYSCTL_H)
+
######################################################################################
if(NOT DEFINED DEFAULT_USE_VECMATHLIB)

View File

@ -1,6 +1,6 @@
--- config.h.in.cmake.orig 2017-04-05 14:15:40 UTC
--- config.h.in.cmake.orig 2019-04-04 12:06:59 UTC
+++ config.h.in.cmake
@@ -44,6 +44,8 @@
@@ -41,6 +41,8 @@
#cmakedefine HAVE_VFORK
@ -8,4 +8,4 @@
+
#cmakedefine HAVE_CLOCK_GETTIME
#cmakedefine HAVE_LTTNG_UST
#cmakedefine HAVE_FDATASYNC

View File

@ -1,4 +1,4 @@
--- lib/CL/devices/cpuinfo.c.orig 2017-04-05 14:15:40 UTC
--- lib/CL/devices/cpuinfo.c.orig 2019-04-04 12:06:59 UTC
+++ lib/CL/devices/cpuinfo.c
@@ -34,6 +34,12 @@
#include "config.h"
@ -13,7 +13,7 @@
static const char* cpuinfo = "/proc/cpuinfo";
#define MAX_CPUINFO_SIZE 64*1024
//#define DEBUG_POCL_CPUINFO
@@ -153,8 +159,51 @@ pocl_cpuinfo_detect_max_clock_frequency(
@@ -153,8 +159,51 @@ pocl_cpuinfo_detect_max_clock_frequency()
}
return -1;
}
@ -85,7 +85,7 @@
#ifdef POCL_ANDROID
@@ -270,6 +332,7 @@ pocl_cpuinfo_get_cpu_name_and_vendor(cl_
@@ -326,6 +388,7 @@ pocl_cpuinfo_get_cpu_name_and_vendor(cl_device_id devi
* short_name is in the .data anyways.*/
device->long_name = device->short_name;
@ -93,7 +93,7 @@
/* default vendor and vendor_id, in case it cannot be found by other means */
device->vendor = cpuvendor_default;
if (device->vendor_id == 0)
@@ -318,7 +381,25 @@ pocl_cpuinfo_get_cpu_name_and_vendor(cl_
@@ -425,6 +488,25 @@ pocl_cpuinfo_get_cpu_name_and_vendor(cl_device_id devi
char *new_name = (char*)malloc (len);
snprintf (new_name, len, "%s-%s", device->short_name, start);
device->long_name = new_name;
@ -101,7 +101,7 @@
+ int mib[2];
+ size_t len = 0;
+ char *model;
+
+ mib[0] = CTL_HW;
+ mib[1] = HW_MODEL;
+ if (sysctl(mib, 2, NULL, &len, NULL, 0))
@ -118,4 +118,4 @@
+#endif
}
void
/*

View File

@ -1,11 +0,0 @@
--- lib/CL/pocl_binary.c.orig 2017-04-05 14:15:40 UTC
+++ lib/CL/pocl_binary.c
@@ -36,7 +36,7 @@
#include <libgen.h>
#ifndef __APPLE__
- #include <endian.h>
+ #include <sys/endian.h>
#else
#include <libkern/OSByteOrder.h>
#define htole16(x) OSSwapHostToLittleInt16(x)

View File

@ -1,11 +0,0 @@
--- tests/regression/test_issue_445.cpp.orig 2017-04-05 14:15:40 UTC
+++ tests/regression/test_issue_445.cpp
@@ -29,7 +29,7 @@ private_local_array(__global int *__rest
}
)CLC";
-int main(int, char *)
+int main(int, char **)
{
try {
int N = 9;

View File

@ -1,22 +1,22 @@
Portable OpenCL (pocl)
----------------------
Portable OpenCL aims to be an efficient open source (MIT-licensed)
implementation of the OpenCL 1.2 standard.
Portable OpenCL aims to be an efficient open source (MIT-licensed)
implementation of the OpenCL 1.2 standard.
In addition to producing an easily portable open source OpenCL
implementation, another major goal of the project is improving
performance portability of OpenCL programs with compiler
optimizations, reducing the need for target-dependent manual
optimizations. At the core of pocl is a set of LLVM passes
implementation, another major goal of the project is improving
performance portability of OpenCL programs with compiler
optimizations, reducing the need for target-dependent manual
optimizations. At the core of pocl is a set of LLVM passes
used to statically parallelize multiple work-items with the kernel
compiler, even in the presence of work-group barriers. This enables
parallelization of the fine-grained static concurrency in the work
compiler, even in the presence of work-group barriers. This enables
parallelization of the fine-grained static concurrency in the work
groups in multiple ways (SIMD, VLIW, superscalar,...).
The code base is modularized to allow easy adding of new "device drivers"
in the host-device layer. A generic multithreaded "target driver" is
included. It allows running OpenCL applications on a host that supports
in the host-device layer. A generic multithreaded "target driver" is
included. It allows running OpenCL applications on a host that supports
the pthread library with multithreading at the work group granularity.
WWW: http://portablecl.org/

View File

@ -1,25 +1,27 @@
bin/poclcc
etc/OpenCL/vendors/pocl.icd
include/poclu.h
lib/libpocl.so
lib/libpocl.so.1
lib/libpocl.so.1.7.0
lib/libpoclu.so
lib/libpoclu.so.1
lib/libpoclu.so.1.7.0
lib/libpocl.so.2
lib/libpocl.so.2.3.0
lib/pocl/libllvmopencl.so
libdata/pkgconfig/pocl.pc
%%DATADIR%%/include/_builtin_renames.h
%%DATADIR%%/include/_clang_opencl.h
%%DATADIR%%/include/_enable_all_exts.h
%%DATADIR%%/include/_kernel.h
%%DATADIR%%/include/_kernel_c.h
%%DATADIR%%/include/_kernel_constants.h
%%DATADIR%%/include/_pocl_opencl.h
%%DATADIR%%/include/pocl.h
%%DATADIR%%/include/pocl_device.h
%%DATADIR%%/include/pocl_image_types.h
%%DATADIR%%/include/pocl_spir.h
%%DATADIR%%/include/pocl_types.h
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-avx.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-avx2.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-avx512.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-avx_fma4.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-sse2.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-sse41.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%OPSYS%%%%OSREL%%-ssse3.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-avx.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-avx2.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-avx512.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-avx_f16c.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-avx_fma4.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-sse2.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-sse41.bc
%%DATADIR%%/kernel-%%ARCH%%-portbld-%%PYTHON_PLATFORM%%.2-ssse3.bc