
Artemy
18.12.2017
09:00:34
Ага. OpenCL — общий, независимый от платформы стандарт.

Siarhei
18.12.2017
09:01:16
AMD просто профукали старт GPGPU

Artemy
18.12.2017
09:01:27
CUDA просто, как я понимаю, проще в освоении и использовании. + наверняка ещё быстрее работает, чем OpenCL на Nvidia

Google

Siarhei
18.12.2017
09:01:40
у них была свогя технология аналогичная куде, но не очень удобная

Sergey
18.12.2017
10:08:09

Evgeniy
18.12.2017
10:39:27
https://twitter.com/7sharp9_exhumed/status/942705153660121088
@7sharp9 планирует снова делать стримы.
Сегодня должны быть интересные статьи в FsAdvent.

Anton
18.12.2017
11:41:03
Вопрос в том, проигрывает ли OpenCL Куде или нет.

Anatoly
18.12.2017
11:41:16
на nvidia - да
они давно забили на поддержку opencl. кое как работает и ладно

Artemy
18.12.2017
11:42:04
Специально, чтобы их Куду использовали

Anton
18.12.2017
11:42:14
Ок, а если взять топ от AMD и топ от Nvidia. На первой запускаем код на OpenCL, на второй на Cuda.
Кто кого вздрючит ?

Anatoly
18.12.2017
11:42:33
зависит от конкретной задачи
если учитывать что реализация идеальна и там и там

Anton
18.12.2017
11:42:54
Просто для бенчмарка. Одинаковая логика что бы была.

Google

Anatoly
18.12.2017
11:43:29
но про AMD могу сказать: компилятор opencl у них иногда выдаёт хреновый код. Многие компилируют им, а потом декомпилируют, правят asm и собирают обратно
в последний год ситуация стала сильно лучше

Anton
18.12.2017
11:45:31
У меня, если шо msi 980 gamming 4g. Можно будет что нибудь затестить ради интереса. Если у кого нибудь найдётся аналогичная карточка от AMD.
Для тестов взять кот на F#, который можно будет собрать под OpenCL и Cuda соответственно. ( если так вообще возможно )

Artemy
18.12.2017
11:46:45
А под CUDA есть бесплатные F#-библиотеки?
А, у AleaGPU, похоже, есть Community-версия

Siarhei
18.12.2017
11:51:59

Anton
18.12.2017
11:52:38

Siarhei
18.12.2017
11:54:54
к этому могу сказать вот что, даже в пределах той же нвидии, имел возможность писать алгоритм под разные архитектуры, кеплер и максвел к примеру, и на более старой один код порой мог работать быстрее на более старой а иной код быстрее на новой
технические особенности размеров кешэй/шин/регистров и аллокации памяти

Anton
18.12.2017
12:12:03
Вот оно как. Интересненько.

Денис
18.12.2017
14:01:19
У меня у одного ionide удаляет <ServerGarbageCollection>true</ServerGarbageCollection> при любом редактировании файла проекта через него?
Вообще неюзабельным становится из за этого

Evgeniy
18.12.2017
15:00:19
https://twitter.com/alfonsogcnunez/status/942753733234053120
@nevoroman Классный доклад, спасибо!
Я наконец-то его посмотрел.

shkert
19.12.2017
07:32:08
Добрый день, подскажите, нужна библиотека для геомпреобразований, векторы, плоскости, матрица преобразований и тд

Vladimir
19.12.2017
07:32:47
Math.Net

Evgeniy
19.12.2017
07:36:42
Только у нее с документацией все плохо. ?

Google

Semyon
19.12.2017
07:44:04

Roman
19.12.2017
08:21:42

Evgeniy
19.12.2017
08:51:14
https://www.humblebundle.com/books/be-a-coder-books

Pavel
19.12.2017
09:33:38
привет всем, если в студии на класс навешать атрибут [<CustomComparison>], то она ругается, пока не переопределишь "хотя бы один из нескольких интерфейсов" для сравнения (System.IComparable, System.Collections.IStructuralComparable), но можно определить System.IComparable<MyClass>, ругаться перестаёт, но и при попытке сравнения двух объектов этого класса говорит, что констрейнт comparison не удовлетворён
получается, надо обязательно имплементировать не-дженерик? да и даже если так, то выглядит не очень правильно, что перестаёт ругаться

Igor
19.12.2017
13:34:37
Ребят, а rider не умеет показывать файлы в порядку объявления в проекте?

Кирилл
19.12.2017
13:38:26
нет пока, скоро обещают сделать

Денис
19.12.2017
13:51:51
Господа
А зачем нужен F# когда есть Хаскель?

Artemy
19.12.2017
13:52:28
.NET?
+ F# проще в изучении
Ну и императивщина есть. Иногда может быть полезно

Roman
19.12.2017
13:53:41

Денис
19.12.2017
13:53:51
.NET получается палкой о двух концах. С одной стороны вся мощь платформы а с другой куча костылей для интеропа

Artemy
19.12.2017
13:53:54
Ну и F# более приземлённый, более прагматичный что ли

Летучая
19.12.2017
13:54:48

Денис
19.12.2017
13:55:25
Утомительная обработка NRE
Меня больше всего беспокоит

Летучая
19.12.2017
13:55:32

Google

A64m
19.12.2017
13:55:55
сомневаюсь насчет прагматизма, но просто есть люди которым не особо уютно на хаскеле писать, им бы эмель, а эмеля один мертвее другого. F# правда слабоватый эмель, без модулей нормальных

Artemy
19.12.2017
13:55:56
Пишешь себе такой что-то на C#, увидел, что какую-то часть лучше на F# описать — создал F#-библиотеку, написал эту нужную часть, и вызываешь потом в C#-коде написанную функцию.

Денис
19.12.2017
13:56:49
А она такая FSharpFunc принимает
Ставь лойс если жизненно

A64m
19.12.2017
13:57:00
а синтаксис у F# более навороченный, чем хаскель (с расширениями, естественно)

Artemy
19.12.2017
13:57:22

A64m
19.12.2017
13:57:40
два раздельных синтаксиса для полиморфизма (+ крышечный), два синтаксиса для описания модулей, куча синтаксиса для классов и т.д.

Roman
19.12.2017
13:57:58

Денис
19.12.2017
13:58:49

Artemy
19.12.2017
13:58:57
А она такая FSharpFunc принимает
Пфф, уж написать обёртку, которая будет вызывать обычную для C# функцию вообще не проблема. + если ты сам библиотеку пишешь, то сразу подходящий интерфейс обеспечишь

Денис
19.12.2017
14:00:02
+1 вещь которую надо учитывать.

Artemy
19.12.2017
14:00:26
Это мелочь, по-моему
Для вызова Хаскеллевской библиотеки гораздо больше заморчаиваться надо ?

A64m
19.12.2017
14:04:29
кстати, вы знаете, что для хаскеля есть библиотека, позволяющая вставки кода на F# писать? Это так, фан факт.
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
module Main where
import Clr.Inline
[fsharp|
open System.Windows.Forms
|]
main = do
startClr
let text = "Hello from Haskell"
[fsharp|
let form = new Form(Text=$text:string)
let button = new Button(Text="Click Me!", Dock=DockStyle.Fill)
button.Click.Add(fun _ -> MessageBox.Show($text, "Hey!") |> ignore)
form.Controls.Add(button)
Application.Run(form)
|]

Artemy
19.12.2017
14:04:59
Ох, неожиданно
Типа можно и F#-библиотеки вызывать?
И пример с WIndows.Forms рабочий?

A64m
19.12.2017
14:08:40
я не пользуюсь, просто как-то нашел и показалось интересным. Но это в хаскеле популярное последнее время направление для интеропа делать возможность инлайн кода на другом языке через квазиквотер. Для Си сначала было, потом для явы и пошло поехало

Artemy
19.12.2017
14:10:41
Ага, тут целый перечень:
https://wiki.haskell.org/Applications_and_libraries/Interfacing_other_languages
Вот это действительно классной фичей кажется.

Google

Artemy
19.12.2017
14:12:02
Ещё бы тулинг, который будет предоставлять подстветку кода и автодополнение для встраиваемых языков.

Dmitry
19.12.2017
14:20:09
А видели такое: https://www.reddit.com/r/fsharp/comments/7korb4/hey_so_i_made_an_f_podcast/

Evgeniy
19.12.2017
14:24:19

Vladimir
19.12.2017
14:26:48

Evgeniy
19.12.2017
16:52:45
@death_particle @Harshead Привет.

Andrew
19.12.2017
16:57:44
Привет :)
Можете посоветовать что почитать чтобы поглубже изучить F#?
Желательно на доступном языке)

Kirill
19.12.2017
16:58:40
fsharpforfunandprofit.com

Andrew
19.12.2017
16:58:42
На русском или английском, не важно, главное чтобы не супер академическим языком

Evgeniy
19.12.2017
16:58:42
Мастрид.

Andrew
19.12.2017
16:58:55
Спасибо, читал там как раз 1 статейку

Artemy
19.12.2017
17:00:15
Честно говоря, из всевозможных ресурсов лишь научные публикации на так называемом академическом языке найти можно, наверное. Все книги и посты в блогах на вполне доступном языке описаны.

Evgeniy
19.12.2017
17:00:53
@death_particle Про функциональное программирование неплохо ploeh пишет.
http://blog.ploeh.dk/

Andrew
19.12.2017
17:01:34
Спасибо, тоже гляну

Evgeniy
19.12.2017
17:02:13
@death_particle А если тебя интересует парсинг, например, есть хороший перевод от @DmitriyVlasov про fparsec.
http://dmitriyvlasov.ru/publication/fparsec-tutorial/

Andrew
19.12.2017
17:02:32
Ты в точку