8000 GitHub - browndeer/coprthr at v1.3.1
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

browndeer/coprthr

Repository files navigation

COPRTHR version 1.3 (lakeside) Release Notes

Copyright (C) 2011 Brown Deer Technology, LLC

Verbatim copying and distribution of this entire document is
permitted in any medium, provided this notice is preserved.

------------------------------------------------------------------------
The CO-PRocessing THReads (COPRTHR) SDK provides several OpenCL? related
libraries and tools for developers targeting many-core compute
technology and hybrid CPU/GPU/APU computing architectures.
------------------------------------------------------------------------

  * 1 New in version 1.3 (lakeside) release <#New>
  * 2 Support and Requirements <#Support>
  * 3 Important Notes <#Important>
  * 4 Frequently Asked Questions <#Frequently>
  * 5 More Information <#More>

------------------------------------------------------------------------

1. New In Version 1.3 (lakeside release)

  * Fortran binding for STDCL
      - Provides Fortran programmers with a powerful interface to OpenCL
      - Full support for (almost) all STDCL features

  * Windows 7 support for C++ containers using OpenCL device-shareable
    memory
      - Supports OpenCL extensions to STL vector and boost multi_array
      - Enables conventional memory management with synchronization for
        OpenCL devices

  * Improvements to the SDTCL interface
      - Introduction of clmcopy() for copying memory on OpenCL devices
      - Introduction of clforka() - execute kernels with a single call,
        eliminating tedious set-argument calls
      - Expanded support for CL/GL interoperability

  * Updated examples and documentation

  * Supports Linux, FreeBSD and Windows 7 with MSVS 2010

  * STDCL is tested against AMD SDK v2.4/v2.5, Nvidia CUDA 4.0, Intel
    OpenCL SDK v1.5

------------------------------------------------------------------------

2 Support and Requirements

With this release, Windows 7 support for the basic functionality
provided by the STDCL interface is now stable. Support continues for
most modern Linux distributions including RHEL 5.4/5.5, CentOS 5.4/5.5,
and OpenSuSE 11.3. Full support for FreeBSD-8 also continues. Specific
feature support by operating system is shown in the table below.

COPRTHR Feature     Description            Linux    FreeBSD   Windows
---------------     -----------            -----    -------   -------
libstdcl            STDCL interface        x        x         x
cltrace             tracing tool           x 	    x 	
clld                link tool              x 	    x 	
libocl              OpenCL x86_64 runtime  x 	    x 	

This release is compatible with OpenCL implementations provided by AMD
APP v2.4/2.5, Nvidia CUDA-4 and Intel OpenCL SDK v1.5. In addition, an
open-source OpenCL run-time implementation for x86_64 multi-core
processors is provided as part of the COPRTHR SDK, which may be used on
platforms for which no vendor support is available. The COPRTHR OpenCL
implementation may also be of interest since it exhibits better
performance than vendor implementations on some real-world benchmarks.

This release supports x86_64 CPUs from AMD and Intel as well as GPUs
from AMD and Nvidia, and has been tested successfully on the following
graphics cards: AMD Radeon HD 5870, 5970, 6970, AMD FirePro V8800,
Nvidia Tesla S1070, C2050, and C2070. AMD A-series APUs are also supported.

If you are only interested in the basic functionality of the STDCL
interface for OpenCL, no additional packages are required beyond the
standard vendor implementation of OpenCL for your platform. (If none is
available, try the open-source implementation provided by with COPRTHR SDK.)

If you wish to use the clld tool for embedding OpenCL kernel code into
ELF objects to create single executables, you will need to install
libelf-0.8.13. Note that versions of libelf typically found on Linux
distributions (designated 1.x) are not compatible and not very useful
since they often contain many undocumented behaviors, and should not be
used.

If you wish to use the open-source OpenCL run-time implementation
provided by COPRTHR SDK you will need to install libelf-0.8.13 along
with a few additional packages. Specifically, you will need LLVM and
CLANG v2.6 and the ATI Stream SDK v2.1 . (Newer versions of the AMD SDK
are not valid substitutes. Note that this dependency on AMD SDK v2.1
and LLVM v2.6 is being eliminated in future releases with the
introduction of a new OpenCL compiler.)

The table below provides a comprehensive matrix of required packages
matched to a specific platform and feature set.

         COPRTHR Feature          Package [Download]
libstdcl  cltrace  clld  libocl
--------  -------  ----  ------   -------   --------
                             (Linux)
O                                 AMD APP v2.4/2.5 [developer.amd.com/sdks/AMDAPPSDK/downloads]
O                                 Nvidia CUDA 4 [developer.nvidia.com/cuda-toolkit-40]
O                                 Intel OpenCL SDK-1.5 [software.intel.com/en-us/articles/download-intel-opencl-sdk]
                   R      R       libelf 0.8.13 [www.mr511.de/software/libelf-0.8.13.tar.gz]
                          R       LLVM-2.6 [llvm.org/releases/2.6/llvm-2.6.tar.gz]
                          R       CLANG-2.6 [llvm.org/releases/2.6/clang-2.6.tar.gz]
                          R       ATI Stream SDK-v2.1 [developer.amd.com/Downloads/ati-stream-sdk-v2.1-lnx64.tgz]
                             (FreeBSD-8)
                   R      R       libelf 0.8.13 [www.mr511.de/software/libelf-0.8.13.tar.gz]
                          R       LLVM-2.6 [llvm.org/releases/2.6/llvm-2.6.tar.gz]
                          R       CLANG-2.6 [llvm.org/releases/2.6/clang-2.6.tar.gz]
                          R       ATI Stream SDK-v2.1 [developer.amd.com/Downloads/ati-stream-sdk-v2.1-lnx64.tgz]

                             (Windows 7)
O                                 AMD APP v2.4/2.5 [developer.amd.com/sdks/AMDAPPSDK/downloads]
O                                 Nvidia CUDA 4 [developer.nvidia.com/cuda-toolkit-40]
O                                 Intel OpenCL SDK-1.5 [software.intel.com/en-us/articles/download-intel-opencl-sdk]

O=Optional, R=Required

------------------------------------------------------------------------

3 Important Notes

  * On Windows 7 platforms the function init_stdcl() must be called to
    initialize the STDCL API. This call is unnecessary for Linux and
    FreeBSD, but there is no harm in including it since it will default
    to an empty function.

  * The libraries libstdcl and libocl are provided with debug
    versions libstdcl_d and libocl_d, respectively. Linking against
    these libraries can be very useful for debugging as well as
    understanding how each library operates.

  * If you install a binary release, it may not have been compiled with
    your preferred OpenCL implementation as a default. The most reliable
    way to ensure that the correct implementation is used is to set the
    appropriate environment variable. The following are examples:

    export STDGPU_PLATFORM_NAME=nvidia
        Use the Nvidia OpenCL implementation for the stdgpu context
    export STDCPU_PLATFORM_NAME=intel
        Use the Intel OpenCL implementation for the stdcpu context

  * The flag CL_EVENT_RELEASE has been removed and the flag
    CL_EVENT_NORELEASE has been added; the default behavior of event
    management calls has been changed so as to always release events
    unless the latter flag is used.

  * The platform that you select may not support certain types of
    devices, e.g., the Nvidia SDK does not suport CPUs. This may cause
    problems with some configurations. The easiest solution is to
    disable context for which no devices are supported, e.g., setting
    the environment variable SDTCPU=0 will cause the runtime to ignore
    the CPU context.

------------------------------------------------------------------------

4 Frequently Asked Questions

Below are answers to frequently asked questions regarding COPRTHR SDK
and STDCL.

Does STDCL require the BDT OpenCL run-time?
    No. The basic installation of libstdcl.so will work with any
    compliant OpenCL installation including the latest implementations
    from AMD, Nvidia and Intel.

Will using STDCL reduce performance or limit access to OpenCL functionality?
    No. STDCL is implemented as a very light-weight interface, does not
    restrict access to direct OpenCL and fully supports asynchronous
    operations across multiple devices.

Are STDCL calls simply wrappers for OpenCL calls?
    No. There is a bit more to the interface than wrapping OpenCL calls.
    For the curious, take a look at the source code.

------------------------------------------------------------------------

5 More Information

Additional information including installation instructions and examples
may be found in The COPRTHR Primer revision 1.3 along with more
detailed documentation and examples.
------------------------------------------------------------------------

revised 22 October 2011 by DAR

About

The CO-PRocessing THReads (COPRTHR) SDK - latest release is v1.6.2 (Freewill)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0