Да, вы можете.Фактически, это моя работа:)
Я написал GPU.NET полностью на F # (по модулю наших модульных тестов) - он на самом деле разбирает и JITs IL во время выполнения, так же, как и .NET CLR,Мы генерируем нативный код для любого устройства ускорения, которое вы хотите использовать;в настоящее время мы поддерживаем только графические процессоры Nvidia, но я разработал нашу систему так, чтобы она была перенастраиваемой с минимумом работы, поэтому, вероятно, мы будем поддерживать другие платформы в будущем.
Что касается производительности, я хочу поблагодарить F #- при компиляции в оптимизированном режиме (с использованием tailcalls) наш JIT-компилятор, вероятно, работает примерно так же быстро, как компилятор в CLR (который написан на C ++, IIRC).
Для выполнения у нас есть преимуществоспособность передавать управление драйверам аппаратного обеспечения для запуска объединенного кода;тем не менее, это не составит труда сделать с процессором, так как .NET поддерживает указатели функций на неуправляемый / нативный код (хотя вы потеряете всю безопасность, обычно предоставляемую .NET).