Публикации по теме 'compiler-optimization'
TVM: AI-компилятор для настройки AI
Источник: TVM: автоматизированный компилятор сквозной оптимизации для глубокого обучения
Реализация: твм
Я не автор, этот пост - всего лишь краткое изложение статьи.
Для читателей, которые хоть немного разбирались в глубоком обучении и оптимизации компилятора.
Введение
Растущая потребность в использовании машинного обучения для самых разных аппаратных устройств ставит под сомнение существующие технологии компиляторов. Вкратце, разные ускорители имеют разные примитивы..
Расширение возможностей для оптимизации компилятора
Источник: документ CGO 2018 - Моделирование дублирования на основе доминирования (DBDS): дублирование кода для обеспечения оптимизации компилятора
Я не автор, этот пост - всего лишь краткое изложение статьи.
Для читателей, немного знакомых с системами компиляции .
Введение
Компиляторы выполняют множество расширенных оптимизаций для повышения качества сгенерированного машинного кода. Однако оптимизации, которые зависят от потока данных программы, часто ограничиваются слиянием..
Оптимизация компилятора: что должен знать каждый программист?
В мире разработки существует множество языков программирования, предлагающих такие конструкции, как функции, операторы, циклы и многое другое.
С высококлассными конструкциями приходят высокая функциональность и удобство использования, но также снижается общая производительность. Для каждого программиста главная роль — написать высокооптимизированный код без ущерба для производительности.
Ну, тогда в дело вступают компиляторы.
Компиляторы используются в конце цикла разработки и, как..
Вопросы по теме 'compiler-optimization'
Как векторизовать с помощью gcc?
Компилятор gcc серии v4 может автоматически векторизовать циклы с помощью процессора SIMD на некоторых современных процессорах, таких как как чипы AMD Athlon или Intel Pentium/Core. Как это делается?
34959 просмотров
schedule
20.08.2022
Тесты кода, сгенерированного разными версиями g++
Я работаю над системой выполнения для домена приложений, который очень чувствителен к производительности. Мы прилагаем большие усилия для обеспечения обратной совместимости со старыми версиями компилятора, в том числе избегаем недавно реализованных...
374 просмотров
schedule
13.04.2022
Может ли оптимизация компилятора привести к ошибкам?
Сегодня у меня было обсуждение с моим другом, и мы несколько часов обсуждали «оптимизацию компилятора».
Я защищал точку зрения, что иногда оптимизация компилятора может привести к ошибкам или, по крайней мере, к нежелательному поведению.
Мой...
23497 просмотров
schedule
01.11.2023
Оптимизация компилятора, вызывающая замедление производительности
У меня есть одна странная проблема. У меня есть следующий фрагмент кода:
template<clss index, class policy>
inline int CBase<index,policy>::func(const A& test_in, int* srcPtr ,int* dstPtr)
{
int width = test_in.width();...
1044 просмотров
schedule
06.06.2022
Может ли соответствующий компилятор C# оптимизировать локальную (но неиспользуемую) переменную, если она является единственной надежной ссылкой на объект?
См. также следующие связанные ресурсы:
Выполняет ли сборщик мусора .NET прогнозный анализ кода? (о переполнении стека)
WP7: Когда сборщик мусора считает локальную переменную мусором (статья в блоге на MSDN)
Другими...
2043 просмотров
schedule
02.04.2023
Visual Studio 2008 не выравнивает переменные стека?
Я пытаюсь прочитать avi-файл в стандарте OpenCV 2.1, VS2008 уже 2 дня, но безуспешно. Я постоянно получаю это сообщение в консоли программы:
Компилятор не выровнял переменные стека. Libavcodec был неправильно скомпилирован и может работать...
2827 просмотров
schedule
28.07.2022
Развертывание оптимизации компилятора gcc
Мне интересно увидеть код, где gcc фактически оптимизировал код. Есть ли способ, которым я мог бы это сделать?
Я прошел через несколько других подобных вопросов, я пробовал следовать нескольким вещам,
-Wa,ahl=filename.lst :- эта опция...
442 просмотров
schedule
04.09.2022
В чем разница между параметрами компилятора / Ox и / O2?
Компилятор Microsoft C ++ ( cl.exe , входит в состав Visual Studio) предлагает несколько переключателей оптимизации . Разница между большинством из них кажется очевидной, но мне не ясно, в чем разница между /O2 (который оптимизирует код для...
24835 просмотров
schedule
11.07.2023
Является ли объединение более эффективным, чем сдвиг в современных компиляторах?
Рассмотрим простой код:
UINT64 result;
UINT32 high, low;
...
result = ((UINT64)high << 32) | (UINT64)low;
Превращают ли современные компиляторы это в настоящий сдвиг ствола вверх или оптимизируют его до простой копии в нужное место?...
2089 просмотров
schedule
08.04.2024
Могут ли разные уровни оптимизации привести к функционально разным кодам?
Мне любопытны свободы, которые компилятор имеет при оптимизации. Давайте ограничим этот вопрос GCC и C/C++ (любая версия, любой вариант стандарта):
Можно ли написать код, который ведет себя по-разному в зависимости от того, с каким уровнем...
5214 просмотров
schedule
27.03.2023
Оптимизируют ли какие-либо компиляторы C или C++ макросы определения?
Допустим, у меня есть следующее на C или C++:
#include <math.h>
#define ROWS 15
#define COLS 16
#define COEFF 0.15
#define NODES (ROWS*COLS)
#define A_CONSTANT (COEFF*(sqrt(NODES)))
Затем я иду и использую NODES и A_CONSTANT...
4875 просмотров
schedule
05.07.2022
Есть ли техническая причина, по которой C # не выдает хвост? Инструкция CIL?
Возможный дубликат: Почему нет. net / C # устранить хвостовую рекурсию?
Возьмите следующий код C #:
using System;
namespace TailTest
{
class MainClass
{
public static void Main (string[] args)
{...
1405 просмотров
schedule
16.11.2022
Оптимизация компилятора, из-за которой программа работает медленнее
У меня есть следующий фрагмент кода, который я написал на C. Он довольно прост, поскольку он просто сдвигает биты x для каждого цикла for.
int main() {
int x = 1;
for (int i = 0; i > -2; i++) {
x >> 2;
}
}
Теперь...
1260 просмотров
schedule
17.09.2022
Будет ли полезна возможность объявить функции Лиспа «чистыми»?
В последнее время я много читал о Haskell и о преимуществах, которые он извлекает, будучи чисто функциональный язык. (Я не заинтересован в обсуждении монад для Лиспа) Для меня имеет смысл (по крайней мере, логически) максимально изолировать...
939 просмотров
schedule
26.12.2022
Неинициализированное предупреждение с оптимизатором GCC
Я реализовал дерево на C и теперь хочу определить набор деревьев-оболочек. У меня есть итератор для моего дерева в tree.h:
typedef struct tree_iter_t {
void *current;
tree_t *tree;
unsigned char info : 2;
} tree_iter_t;
и функция...
667 просмотров
schedule
09.06.2023
Переключатель компилятора Visual Studio 2008 x64 / MP
У меня проблема с недавно установленным VisualStudio 2008 SP1 в системе Windows 7 SP1 x64.
Я работаю над проектом под Clearcase, и решение содержит около 10 проектов.
У каждого проекта есть дополнительный переключатель компилятора: «/ MP» для...
251 просмотров
schedule
18.03.2023
g++ -O оптимизация
У меня есть следующий код:
#include <iostream>
int main()
{
int n = 100;
long a = 0;
int *x = new int[n];
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)...
1097 просмотров
schedule
25.08.2023
Укороченные операторы и хвостовая рекурсия
Скажем, у меня есть простая функция:
int all_true(int* bools, int len) {
if (len < 1) return TRUE;
return *bools && all_true(bools+1, len-1);
}
Эту функцию можно переписать в более очевидном стиле хвостовой рекурсии...
529 просмотров
schedule
17.05.2022
Компилятор Microsoft C ++: как отключить автоматическую векторизацию с помощью / O2?
Как отключить автоматическую векторизацию (SSE2) глобально или для определенного цикла for без возврата к / Od в MSVS 2010?
Я пробовал все 3 возможных варианта для Enable Enhanced Instruction Set , включая "Не задано", но безрезультатно.
P....
2199 просмотров
schedule
04.10.2022
Почему создание класса final ускоряет процесс?
Возможный дубликат: Зачем определять класс как final улучшает производительность JVM?
У меня есть следующий класс в моем проекте:
public final class LinkNode
{
public int value;
public LinkNode next;
public LinkNode(int...
518 просмотров
schedule
01.04.2023