Skip to content

Commit

Permalink
Add devel/hwloc and devel/pocl, which gives OpenCL support.
Browse files Browse the repository at this point in the history
  • Loading branch information
ibara committed Sep 1, 2020
1 parent b715ee8 commit 2ce9386
Show file tree
Hide file tree
Showing 10 changed files with 655 additions and 0 deletions.
34 changes: 34 additions & 0 deletions devel/hwloc/Makefile
@@ -0,0 +1,34 @@
# $OpenBSD$

V = 2.2
COMMENT = Portable Hardware Locality
DISTNAME = hwloc-${V}.0
EXTRACT_SUFX = .tar.bz2
CATEGORIES = devel

SHARED_LIBS += hwloc 0.0 # 17.0

HOMEPAGE = https://www.open-mpi.org/projects/hwloc/
MAINTAINER = Brian Callahan <bcallah@openbsd.org>

# BSD
PERMIT_PACKAGE = Yes

WANTLIB += ICE SM X11 Xext Xrender c cairo curses expat fontconfig
WANTLIB += freetype iconv lzma m pciaccess pixman-1 png pthread
WANTLIB += xcb xcb-render xcb-shm xml2 z

MASTER_SITES = https://download.open-mpi.org/release/hwloc/v${V}/

BUILD_DEPENDS = shells/bash

LIB_DEPENDS = graphics/cairo \
textproc/libxml

RUN_DEPENDS = devel/desktop-file-utils

CONFIGURE_STYLE = gnu

FAKE_FLAGS = sysconfdir="${LOCALBASE}/share/hwloc"

.include <bsd.port.mk>
2 changes: 2 additions & 0 deletions devel/hwloc/distinfo
@@ -0,0 +1,2 @@
SHA256 (hwloc-2.2.0.tar.bz2) = rnC4k98nK4Sv1waNNRquXIxP151Ayng7PmdVS4c6IlI=
SIZE (hwloc-2.2.0.tar.bz2) = 6249788
23 changes: 23 additions & 0 deletions devel/hwloc/pkg/DESCR
@@ -0,0 +1,23 @@
The Portable Hardware Locality (hwloc) software package provides a
portable abstraction (across OS, versions, architectures, ...) of the
hierarchical topology of modern architectures, including NUMA memory
nodes, sockets, shared caches, cores and simultaneous multithreading. It
also gathers various system attributes such as cache and memory
information as well as the locality of I/O devices such as network
interfaces, InfiniBand HCAs or GPUs.

hwloc primarily aims at helping applications with gathering information
about increasingly complex parallel computing platforms so as to exploit
them accordingly and efficiently. For instance, two tasks that tightly
cooperate should probably be placed onto cores sharing a cache. However,
two independent memory-intensive tasks should better be spread out onto
different sockets so as to maximize their memory throughput. As
described in this paper, OpenMP threads have to be placed according to
their affinities and to the hardware characteristics. MPI
implementations apply similar techniques while also adapting their
communication strategies to the network locality as described in this
paper or this one.

hwloc may also help many applications just by providing a portable CPU
and memory binding API and a reliable way to find out how many cores
and/or hardware threads are available.

0 comments on commit 2ce9386

Please sign in to comment.