Alexander "SonnySlave"
https://github.com/nlohmann/json/releases/tag/v3.0.0
ttldtor
Dr. Friedrich
Ну, эти библиотеки не следуют стандарту, вот и всё. Если тебе нужно вопреки стандарту с такими значениями работать — то ок, они тебе годятся.
Viacheslav
По мне так если уж припёрло через текстовый формат прогонять числа с плавающей точкой, то лучше уж их через текстовую шестнадцатеричную форму в JSON загонять. Хотя бы точность после считывания будет абсолютно такая же, как и при записи. Не всегда это возможно сделать, конечно.
ttldtor
NaN короче)
Anonymous
Anonymous
Если оно может представлять Inf и NaN — значит может хранить.
Alexander "SonnySlave"
https://developer.nvidia.com/cuda-toolkit/whatsnew
Ioann_
Крылатый
Alexander "SonnySlave"
Alexander "SonnySlave"
и от своей веры в кроссплатформу я не отрекаюсь
Evgenii
Alexander "SonnySlave"
кстати, никто не в курсе, как там война Vulkan vs DirectX?
Крылатый
Evgenii
Evgenii
так бы конечно я б на риск 5 сидел бы
Крылатый
Anatoly
Поздравляю, у нас два верующих человека в чате!
Anonymous
как двумерным массив хранится в памяти? я думал что как последовательность элементов, т.е. если массив mas[2][2] и я обращусь к *mas[2] то получу mas[2][0] но нет, выводит мусор, получается нельзя работать с двумерным массивом как с одномерным через указатели?
Anonymous
melvin
Roman
если это не массив массивов, то должен последовательно в едином куске памяти
Anonymous
Anonymous
да, так работает, а на что я получил указатель?
Roman
вернее на вторую строку 1 элемент
Anonymous
А то, что я сказал - это просто третий элемент
Anonymous
(что в этом случае одно и то же)
Anonymous
это абстрактный пример, в моем случае все ок сработало с (*mas)[i]
Anonymous
да мне это и нужно, мне нужно циклически подвинуть двумерную матрицу, и я подумал что проще это сделать оперируя одномерной послдовательностью
Billy
Maxim
https://godbolt.org/g/qdaaZP
Это я что-то не так делаю или проблема в компиляторе?
Компилится только в GCC 8.0 и MSVC
Egor
Мой GCC, судя по всему, внезапно считает, что там у нас pair<const int, unique_ptr<int>>
Egor
И отказывается генерировать даже move, что разумно
Maxim
Egor
Локально простыми средствами без map воспроизвести не удалось
Aidar
Aidar
ваще надо p.emplace(1, std::make_unique<int>(5));
Maxim
Судя по всему, если не указываешь явно, то некоторые компиляторы делают deduce на const int и, очевидно, падают
Maxim
а остальные, видимо, считают, что это обычный int
Maxim
Aidar
Aidar
а value_type это pair<const T, U>
Aidar
а хотя я кажется вру
Aidar
The overload (2) is equivalent to emplace(std::forward<P>(value)) and only participates in overload resolution if std::is_constructible<value_type, P&&>::value == true
Aidar
а нет не вру
Aidar
мыж не передаем туда pair
Dr. Friedrich
Dr. Friedrich
Во всех 3х стандартах ?
Я знаю только RFC 8259, там прям чёрным по белому указано:
> Numeric values that cannot be represented in the grammar below (such
> as Infinity and NaN) are not permitted.
А какие ещё есть стандарты на JSON? Давайте обсудим!
Dr. Friedrich
(не то чтобы кто-то обязан мне что-то показывать, просто сомневаюсь и всё)
Alexander "SonnySlave"
Кстати да, было бы интересно посмотреть на бенчмарки
Крылатый
Крылатый
Будто забили.
Anatoly
Я бы сомневался.
nvidia остановилась на стандарте openCL 1.2. Что по нынешним меркам эпоха динозавров.
Новых бенчей ты врядли найдёшь. Могу только точно сказать что если похоже реализовать один и тот же алгоритм хеширования на cuda и на opencl для зелёных, то cuda будет шустрее. Ну и под cuda писать приятнее. OpenCL лямку по больше степени только AMD сейчас и тянет.
Anonymous
А можно (имеет ли смысл) писать под гпу без всех этих фреймворков?
Anatoly
всмысле фреймворков?
Anatoly
cuda/Opencl это апи для вычислительных задач на GPU
Anonymous
Anatoly
ты можешь писать рассчёты через opengl шейдеры, вот только скорость тебя расстроит. compute shaders opengl я правда не смотрел
Anatoly
ну в общем ниже особо спускаться то и некуда.
Anton
Кстати, об OpenCL...
Реально ли реализовать поддержку стандартов через CUDA?
Anatoly
Я думаю находясь вне Nvidia эта затея обречена на боль и страдания.
Anatoly
Тот же device-side enqueue поддерживается в Cuda C(Если если мне память не имзеняет). Но сделать это не имея доступа к исходникам драйвера/cuda compiler будет непросто и скорее всего надо будет просто транслятор из одного в другое. Ну нафиг.
Anatoly
AMD у себя в rocm делает обратное :) Чтобы прогнав через hip компилятор можно было Cuda C код запускать не только на nvidia.
Anton
Да, эту новость слышал где-то год (вроде) назад. Но там так и не понял, они выложили сорцы или нет.
Anatoly
Большая часть доступна. Вроде HIP полностью рабочий в opensource. Есть некоторые части драйвера которые доступны только под NDA, но вроде компилятор opencl и hip полность в open source. 100% гарантии не даю
https://llvm.org/docs/AMDGPUUsage.html
https://github.com/ROCm-Developer-Tools/HIP
https://github.com/ROCm-Developer-Tools
https://github.com/RadeonOpenCompute
https://rocm.github.io/
Aidar
Там есть некий cycl
Aidar
https://www.khronos.org/sycl
B
есть какая-нибудь тула для анализа качества CMake файлов?
например, лишние либы в линковке или инклудах и тд