2
0
mirror of https://github.com/boostorg/compute.git synced 2026-01-23 05:22:15 +00:00
Files
compute/test/test_system.cpp
Denis Demidov 0c8a59ef84 Fix core.system test
The find_device check in core.system is invalid. It could fail when same
device is supported by several platforms. In my case this happens for
Intel CPU when both AMD and Intel platforms are installed. The CPU
returned by boost::compute::system::default_device() is served by the
AMD platform, and the CPU returned by
boost::compute::system::find_device(name) is served by Intel SDK. The
only thing that could be safely asserted here is that both devices have
the same name.
2013-12-27 11:26:25 +04:00

39 lines
1.2 KiB
C++

//---------------------------------------------------------------------------//
// Copyright (c) 2013 Kyle Lutz <kyle.r.lutz@gmail.com>
//
// Distributed under the Boost Software License, Version 1.0
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
//
// See http://kylelutz.github.com/compute for more information.
//---------------------------------------------------------------------------//
#define BOOST_TEST_MODULE TestSystem
#include <boost/test/unit_test.hpp>
#include <boost/compute/device.hpp>
#include <boost/compute/system.hpp>
BOOST_AUTO_TEST_CASE(platform_count)
{
BOOST_CHECK(boost::compute::system::platform_count() >= 1);
}
BOOST_AUTO_TEST_CASE(device_count)
{
BOOST_CHECK(boost::compute::system::device_count() >= 1);
}
BOOST_AUTO_TEST_CASE(default_device)
{
boost::compute::device device = boost::compute::system::default_device();
BOOST_CHECK(device.id() != cl_device_id());
}
BOOST_AUTO_TEST_CASE(find_device)
{
boost::compute::device device = boost::compute::system::default_device();
const std::string &name = device.name();
BOOST_CHECK(boost::compute::system::find_device(name).name() == device.name());
}