File: faq.html

package info (click to toggle)
viennacl 1.7.1%2Bdfsg1-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 114,428 kB
  • sloc: sh: 454,206; cpp: 109,088; ansic: 2,103; perl: 104; makefile: 22
file content (131 lines) | stat: -rw-r--r-- 9,940 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ViennaCL - The Vienna Computing Library: FAQ - Frequently Asked Questions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ViennaCL - The Vienna Computing Library
   &#160;<span id="projectnumber">1.7.1</span>
   </div>
   <div id="projectbrief">Free open-source GPU-accelerated linear algebra and solver library.</div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('faq.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">FAQ - Frequently Asked Questions </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h3>Does ViennaCL use multiple GPUs automatically?</h3>
<p>No. Although ViennaCL provides all the facilities for the user to build her own multi-GPU implementations, the efficient use of multiple GPUs is very algorithm-dependent and may even be impossible due to overheads of PCI-Express-communication.</p>
<h3>Why do I get poor performance when inverting my 4-by-4 matrices?</h3>
<p>Accelerators are based on throughput-oriented architectures and can only show their full potential for sufficiently large data sizes. As a rule of thumb, a compute kernel needs to work on at least 100KB of data to hide PCI-Express latency. Even for integrated GPUs such as AMD's APU product line, the cost of launching a kernel is still on the same order of magnitude.</p>
<h3>Why do I see no speed-up when dealing with sparse matrices using the GPU on my APU?</h3>
<p>Many compute kernels (in particular: all BLAS Level 1 and 2 operations) are limited by the available memory bandwidth. This typically holds true for sparse matrices as well. GPUs which are integrated with the CPU on the same chip use the same memory link as the CPU, so the limiting resource is the same.</p>
<h3>Why do I see only mild performance gains (or no gains at all) on my Laptop GPU?</h3>
<p>Laptop GPUs are optimized for low power consumption. You may use Laptop GPUs to debug your implementations, but you need to run on high-end discrete GPUs for best performance.</p>
<h3>Can I use ViennaCL from C/Fortran/Python/etc.?</h3>
<p>Yes, you can, but with the exception of the Python-wrapper PyViennaCL we do not provide complete wrappers for other languages yet. A shared library callable from C (and thus any other language which is able to call C functions) is currently under development, but will require more time for maturity.</p>
<h3>Who provides funding for ViennaCL?</h3>
<p>There is no explicit single source of funding. We develop ViennaCL in our scientific spare time within more application-oriented projects, from which we extract the developed components and make them available in a library context. These projects have been funded by <a href="http://www.fwf.ac.at/">Austrian Science Fund (FWF)</a>, the European Research Council, and the FASTMath project within the US Department of Energy. Generous support has also been received in the course of the <a href="http://www.google-melange.com/">Google Summer of Code</a> since 2011.</p>
<h3>I'm using OpenCL and my program seems to hang for about a second when I call ViennaCL functions?</h3>
<p>This is due to the just-in-time compilation of OpenCL kernels. The NVIDIA graphics driver caches the compiled kernels, therefore the overhead is only seen at the first run on a particular machine. The OpenCL SDKs of AMD and Intel, however, recompile all kernels with each program launch. Other OpenCL SDKs most likely show similar behavior.</p>
<h3>Can I use ViennaCL on a cluster?</h3>
<p>ViennaCL is available as add-on package for the solver library <a href="http://www.mcs.anl.gov/petsc/">PETSc</a>, through which you can run the iterative solvers with full MPI-parallelization across nodes. Not all features of ViennaCL are available through PETSc, though.</p>
<h3>Why does ViennaCL only use the old C++03 standard, but not the latest C++11?</h3>
<p>Our aim is to make ViennaCL available on as many machines as possible. However, many enterprise-class machines do not ship with compilers supporting C++11. For example, the default compiler on CentOS 5.11 is GCC 4.4, which does not support any C++11 features at all.</p>
<h3>How can I contribute?</h3>
<p>The are multiple options available:</p>
<ul>
<li>Provide feedback: Which operations should be added? What should be simplified? What needs to be more flexible? Any feedback is welcome.</li>
<li>If you want to submit updated documentation, new code, or a bugfix, please issue a pull request on the <a href="https://github.com/viennacl/viennacl-dev/">ViennaCL developer repository on GitHub</a>.</li>
<li>Hardware donations. Please contact Karl Rupp directly: <img class="formulaInl" alt="$ \mathtt{rupp @ iue.tuwien.ac.at} $" src="form_39.png"/> </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Wed Jan 20 2016 22:32:44 for ViennaCL - The Vienna Computing Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>