Reply to comment

что привлекло моё внимание:
1. производительность CPU на double меньше, чем на float / 2 (хотя разница очень маленькая). в теории должно получаться, что dFLOPS >= sFLOPS/2. это следует из того, что сами ADD/MUL требуют одинаковое кол-во тактов и чтения регистров/памяти, но организовать blocking для double проще (особенно для матриц с размерами не 2^x), по крайней мере не сложнее. раньше я всегда это видел на тестах (как только скорость double и float сравнялась Intel Core, AMD K8).
2. удивительно, что разница между G80 и GT200 фактически пропорциональна кол-ву SP. хотя, согласно NV, GT200 научилась-таки реально выполнять ADD/MUL на SFU параллельно с MAD на SP. возможно это требует существенно изменить алгоритм GEMM, но это пока не было сделано.
3. касательно double вообще, здорово, что он появился и хотя бы не медленнее, чем на СPU. это избавляет от необходимости вычислять double на CPU для mixed precision схем.
4. главное. ИМХО брутфорс вроде GEMM нужен всё реже и реже, современные алгоритмы требуют более сложные структуры данных. очень и очень интересно было бы увидеть производительность Sparse BLAS 3 на GPU. особенно в свете того, что вроде как есть готовые примитивы для этого (scatter/gather/prefix sum).

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <i> <table> <td> <tr> <th>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Images can be added to this post.

More information about formatting options

Copyright © 2008-2011 Alex Tutubalin