LINUX.ORG.RU

Сообщения BattleCoder

 

[cuda] [ночь] Я туплю или так и должно быть?

Форум — Development

Просьба к владельцам видеокарт от nvidia (любых) и cuda-sdk - скомпилировать и запустить нижеуказанный код.

Ничего вредоносного там нет :-P это не скрипт на перле. По замыслу он должен инициализировать трёхмерный массив числами от 0 до 78*78*78-1. Только ни хрена не получается, ничего не работает.

Если использовать одномерные или двумерные гриды и блоки, то вроде работает (только не так удобно работать с трёхмерными массивами), а вот так - засада какая-то. Или может я на ночь глядя опечатку в коде допустил?

Разумеется, мне не это нужно - а более серьёзная вычислительная задача - только там такие же болты, долго думал, где ошибка, а оказывается, он и с такой простой тестовой задачей не справляется. %) Или может, это хардварная проблема, видеокарта не поддерживает такое? Вообще странно.

Просьба нижайшая - запустите, и скажите, что выведет (всё постить необязательно, в двух словах - работает или нет)

Кастую в тред Reset, Eddy_Em, vertexua, плохо помню, кто ещё в этой матчасти разбирается... И необязательно разбираться - просто скомпильте и запустите ;) и скажите. что получится.

#include <iostream>

#define BLOCK_SIZE 8
#define ARRAY_SIZE 78

__global__ void testKernel(float *data) {
    int ix = blockIdx.x * blockDim.x + threadIdx.x;
    int iy = blockIdx.y * blockDim.y + threadIdx.y;
    int iz = blockIdx.z * blockDim.z + threadIdx.z;
    if (ix > ARRAY_SIZE) return;
    if (iy > ARRAY_SIZE) return;
    if (iz > ARRAY_SIZE) return;
    
    int index = ix+iy*ARRAY_SIZE+iz*ARRAY_SIZE*ARRAY_SIZE;
    data[index] = index;
}

int main(int argc, char *argv[]) {
    int size = ARRAY_SIZE*ARRAY_SIZE*ARRAY_SIZE;
    float *devData = NULL;
    float *outData = new float[size];
    
    for (int i=0; i!=size; i++) {
	outData[i] = 0 ;
    }
    
    cudaMalloc((void**)&devData,size*sizeof(float));
    
    dim3 blockSize(BLOCK_SIZE,BLOCK_SIZE,BLOCK_SIZE);
    dim3 gridSize(ARRAY_SIZE/BLOCK_SIZE+1,ARRAY_SIZE/BLOCK_SIZE+1,ARRAY_SIZE/BLOCK_SIZE+1);
    
    testKernel<<<gridSize,blockSize>>>(devData);

    cudaMemcpy(outData,devData,sizeof(float)*size,cudaMemcpyDeviceToHost);
    
    for (int i=0; i!=size; i++) {
	std::cout << outData[i] << std::endl;
    }
    
    cudaFree(devData);
    delete[] outData;
  
    return 0;
}

 

BattleCoder
()

[cuda] [memcpy3D] Как правильно копировать память?

Форум — Development

Мне нужно скопировать трёхмерный массив из host-памяти в device-память.

Массив в host-памяти представляет собой указатель float*:

float *hostData;
// инициализация

Кроме того, в переменной

dim3 size;
хранится x,y,z - размерность по каждой координате. например, 100x100x100. трёхмерный массив.

Вот я хочу его скопировать в device-память. Для этого сделал вот такой код:

cudaExtent extent = make_cudaExtent(size.x*sizeof(float),size.y,size.z);
cudaPitchedPtr pitchedDevData;
cudaMalloc3D(&pitchedDevData,extent);
cudaMemcpy3DParms memcpy3DParms = {0};
memcpy3DParms.dstPtr = pitchedDevData;
Затем мне нужно проинициализировать host-указатель memcpy3DParms.srcPtr, используя hostData. И в завершение.
cudaMemcpy3D(&memcpy3DParms);
Вот не пойму, как мне его проинициализировать правильно. Подскажите. Тип у него cudaPitchedPtr - он создаётся через make_cudaPitchedPtr(void *d,size_t p, size_t xsz,size_t ysz).

Вместо d надо поставить hostData, а вот вместо остальных трёх переменных что? %) никакой не догоняю. Я наверное плохо понимаю, что такое этот pitch - если дословно переводить «смола» =) никак не пойму, о чём речь.

 

BattleCoder
()

удалённое сообщение

Форум — Linux-org-ru

Оперативненько удалил моё сообщение www.linux.org.ru/forum/talks/7434249 hibou Обращаюсь к нему.

Никакой национальной или политической розни там нет, там просто обыкновенный стёб =) У меня подозрение, что вы ролик даже не глянули - сразу удалили... Никого ни к чему агитировать я не собирался ;) в отличие вот от этих товарищей как забанить вконтакт в /etc/host ? Например.

Ну удалили - ну и пусть... хозяин - барин. Этот тред тоже можно удалить (пишу сюда только потому что ЛС нет, и не знаю, как к hibou лично обратиться.)

Просто чтобы меня правильно поняли. Спасибо.

BattleCoder
()

[лорсовет] [python] [java] Что выбрать для openCL?

Форум — Development

Писать на C++ и использовать openCL считается довольно сложным, в принципе, я с этим суждением и согласен. Хотя наверное необходимую мне программу осилю и на плюсах, но потрачу больше времени.

В связи с чем спрашиваю, что лучше использовать, python или java? Слышал что-то про библиотеки pyopencl и javacl (или что-то похожее), в каком они сейчас состоянии? Насколько качественные (удобные в использовании)?

Сначала python привлекал своей внешней простотой, а сейчас немного отталкивает некоторой запутанностью. вот и думаю, что выбрать... Например, массивы являются частью языка java, в то время как в python приходится использовать библиотеку numpy (не списки-же), что немного усложняет дело...

Плюсы я знаю плоховато, python и java чуть получше.

Возможно, я в чём-то не прав, потому сильно ногами не бейте ;)

 ,

BattleCoder
()

[монитор] [3D] А под линуксом такое работает?

Форум — Linux-hardware

 ,

BattleCoder
()

[мтс] [смс] [уроды] И давно такое?

Форум — Talks

Никого не трогаю, захожу на http://www.voronezh.mts.ru/sendsms/ , чтобы бесплатно отправить смс. И вижу такое:

Отправлять бесплатные сообщения могут только абоненты МТС. Чтобы отправить сообщение, необходимо получить на свой телефон бесплатное SMS-сообщение с кодом подтверждения и ввести его.

Они совсем охренели??.. С какой стати я должен быть их абонентом? Оно мне надо (с такими тарифами)? Есть же другие, нормальные операторы... В общем, выбор оператора связи, IMHO, должно быть делом свободным. А отправить смс человеку приспичило, он абонент мтс (мож пускай сам подтверждение и присылает, его номер там указать? :-D )

А они навязывают... Мож, пожаловаться на них куда можно?

У других операторов такого нет... отправка смс бесплатная и для всех.

P.S. Линукс тут ни при чём.

 ,

BattleCoder
()

[openwrt] [wifi] Помогите определить модель маршрутизатора

Форум — Linux-hardware

Купил когда (год или полтора назад) б/у wifi-маршрутизатор. Тогда особо не задумывался о том, что за фирма, какие возможности, и т.п... Мне от него нужно было несколько вещей:

1) ADSL2+-модем с поддержкой Annex M 2) чтобы раздавал интернет по wifi + ethernet 3) чтоб работал :)

В общем, он вполне себе работал и работает до сих пор.

Но вот что это за модель - я до сих пор понять не могу.

В веб-интерфейсе пишут, что это Netgear DG834G http://img846.imageshack.us/img846/6663/22852359.jpg

в то время как в яндексе-маркете (как и на официальном сайте, там тоже проверял) эта коробочка выглядит вот так - http://mdata.yandex.net/i?path=b0512142411__C:xDocumentsxandxSettingsxvasya.V...

(пруфлинк http://market.yandex.ru/model.xml?modelid=936588&hid=723087 )

В то время как! у меня она выглядит совсем не так! Три фотки с трёх сторон:

http://img27.imageshack.us/img27/5340/dsc018821c.jpg

http://img716.imageshack.us/img716/7826/dsc018811.jpg

http://img192.imageshack.us/img192/6366/dsc018801u.jpg

Собственно, как так получилось? Может, это совершенно другой модем, но кто-то умудрился его прошить чужой прошивкой? и при этом он работает? :) удивительно. китайский какой-то.

И что-то мне как-то сыкатно шить его openwrt (хотел попробовать всякие плюшки, какие там есть, вроде ipv6-адреса белые можно раздавать по wifi? ), несмотря на то, что руководство нашёл - http://wiki.openwrt.org/toh/netgear/dg834.v4 но там тоже картинка другая ;)

Помогите мне определить, что же за модель я купил? :) (покупал давно по объявлению б/у)

P.S. и стоит ли прошивать через openwrt? велика ли вероятность запороть девайс?

 ,

BattleCoder
()

[latex] [шрифты] times new roman

Форум — Desktop

Появилась необходимость оформить статейку в соответствии с требованиями:

...., формат А4, текстовый редактор Microsoft Word, шрифт – Times New Roman, 14, полуторный межстрочный интервал, поля – 3 см со всех сторон.....

Понятно, что вообще говоря, за такие требования надо слать лесом, ну да не о том речь. Задумался я о том, как правильно сделать аналогичное LaTeX (на самом деле уже сделал в libreoffice)

Нагуглил много похожих проблем, когда надо применить шрифт times new roman. Там в качестве решения описываются не иначе как танцы с бубном - http://www.welinux.ru/post/3200/ (я это пока даже не начинал делать, если сильно понадобится, разберусь), но такой вариант мне не видится правильным, так как LaTeX использую впервую очередь в силу того, что он удобнее и набирать на нём проще (а тут все плюсы ломаются)

Итак, решение состоит в том, чтобы использовать пакет pscyr. В стандартной поставке (дистрибутив Gentoo Linux, texlive-2011) его нет, разумеется. Ставится по той ссылке он через какую-то задницу, иначе не назову. Да ещё и говорится о том, что используется шрифт похожий на Times New Roman. но никак не сам Times New Roman. Описывается, мол, что шрифт проприетарный и в латехе его нет.

Кстати, в libreoffce этот шрифт есть(!) ну по крайней мере в настройках так написано, и заставить текст рисоваться им - дело одного клика мыши, как и сохранить документ в *.doc (хоть он и предупреждает, понятное дело, что формат кривой).

Вопрос: какой всё-таки правильный и кошерный вариант использования этого шрифта (или максимально похожего на него) в LaTeX? Чтобы вот. после конвертации через tex4ht в *.odt файл в получшемся файле был выбран этот Times New Roman. и он был 14-го размера, и т.п.?

 ,

BattleCoder
()

Китайская флешка

Форум — Linux-hardware

Досталась мне (в подарок, потому никакой вам гарантии :)) такая замечательная вещь как micro-SD-карта вместе с крохотным USB-переходником (картридером считайте)

Переходник работает замечательно. А вот microSD карточка оказалась с сюрпризом.

1) на ней написано, что она 8 гигабайтная

2) на самом деле она оказалась 32-гигабайтная(!)

3) но при этом на ней был создан один раздел fat где-то в середине размером 8 гигабайт (забавно)

4) в довершение ко всему (предыдущие пункты то особой погоды не делают) она оказалась левая - если записывать на неё любую информацию - запись идёт без ошибок, НО данные усекаются. сначала всё нормально, а потом, начиная с какого-то блока просто тихо пишутся нули =) хорошо, что моё любопытство и недоверие это обнаружило, что ничего важного туда не стал писать.

Вопрос - можно ли что-то с ней сделать (чтобы она имела хоть 1 гигабайт, но при этом 100% работала), или просто выкинуть и не париться?

BattleCoder
()

[installfest] [lug] Как провести installfest для чайников?

Форум — Talks

Форум пестрит новостями вроде в городе N прошёл installfest, отчёт, фотки, и т.п. - www.linux.org.ru/search.jsp?q=installfest&oldQ=installfest&range=TOPI...

Хочет провести свой инсталлфест (линуксовый), с блудными девицами и азартными играми. Если тут обитают форумцы, у которых есть опыт проведения подобных мероприятий (у меня нет), было бы интересно пообщаться лично (например, по почте или жаберу)

 ,

BattleCoder
()

[автомобилетред] автоматическая коробка vs механическая

Форум — Talks

Дискасс.

Линукс тут при том, что его (вроде?) и на автомобили уже ставят...

Сам катался ток на механической... примерно 2,5 года уже.. катаюсь. На автоматической как-то разок дали прокатиться (давно, не помню, когда было) - не впечатлило.

BattleCoder
()

[python] [итераторы] [генераторы] Вернуть генератор из рекурсивной функции

Форум — Development

Есть одна задача и решается она рекурсивным перебором. Вкратце так - на вход поступает одна строка, а на выходе большое множество строк (все возможные комбинации). Подробнее объяснять не буду, незачем, а если кому вдруг интересно - можете почитать мои предыдущие треды, там это можно найти.

Так вот... рекурсивный перебор я сделал. Вот кусок кода:

def backtrack(currentBytes, k):
    if k == l - 1:
        for x in table[s1[k]]:
            print(currentBytes + x + b'\n')
        return
    elif k < l - 1:
        for x in table[s1[k]]:
            backtrack(currentBytes + x, k + 1)

backtrack(b'', 0)

В общем, суть такова - backtrack - рекурсивная функция, которая и перебирает все возможные комбинации. В строке, где вызывается print() и выводится очередная результативная строка... выводится в стандартный поток или в файл, не важно. После вывода (он в цикле) осуществляется возврат.

Так вот... мне бы хотелось переделать эту функцию так, чтобы вместо вывода (в файл, в стандартный поток или ещё куда), чтобы она стала генератором. То есть, чтобы сразу при выводе она не вычислялась полностью, а только на один шаг... ну что такое генераторы, думаю, python-гуру знают =)

Пробовал заменить print() на yield - но это не помогло... Как всё-таки правильно сделать? %)

 

BattleCoder
()

Поиск строки в файле

Форум — Development

Есть такая задача (чем-то напоминает то, чем занимается grep, но не совсем).

Есть, значит, некоторый входной набор строк.

И есть много-много файлов (допустим, все они в одном каталоге) с большим количеством других строк. Каждую строку из исходного набора надо искать во всех этих файлах, и если где-то нашёл - выписать, соответственно, что за строка (номер), и в каком файле она находится.

Задача усложняется тем, что строки в этих файлах могут совпадать не полностью. то есть, например, исходная строка AAABBBCCC. А в файле я наткнулся на AAADBBBCCC. Откуда-то появился символ 'D'. :) Вот такие случаи мне тоже надо соответствующим образом обрабатывать. Нечёткий поиск.

Строки, разумеется, произвольной длины.

Ну и этих «левых» символов может быть несколько (как правило немного), ну для начала пусть это будет не более одного.

Как примерно решить эту задачу (без встраивания «левых» символов) я знаю... Вопросов у меня всего два.

1) может, в какой-то литературе более подробно и более чётко описывается этот алгоритм? чтобы я не перемудрил чего... и время себе сэкономил

2) какой ЯП для этой задачи лучше всего подходит? Думал писать на python, но меня терзают смутные сомнения, что это будет тормоз. :) на C писать отказываюсь. С другими ЯП я плоховато знаком (ну кроме тех, что определённо не подходят под это).

Кстати, у python ещё минус в том, что в последней версии под хранение строк используются двухбайтовые строки юникода. в данном случае они мне не нужны, зато занимают больше памяти, а память мне надо экономить. :)

BattleCoder
()

torque+mpi

Форум — Admin

Дистрибутив scientific linux-5.7

Вдоволь натрахашись с пакетами rpm (там выползали ну просто страннейшие глюки с torque и openmpi/mpich2), обновляться до 6.1 не вариант, ну пока не вариант... хотя возможно, половину проблем это решило бы.

Принято было мною решение не париться, и собрать всё руками из исходников. Что мне вообще нужно сделать? Настроить систему очередей torque (openpbs) и проверить, чтобы она работала вместе с mpi. Взял сразу две реализации openmpi и mpich2. (первая вроде как на сях, другая на питоне).

Делал всё по инструкции, собирал из исходников. http://www.adaptivecomputing.com/resources/downloads/torque/ отсюда брал torque, версии 2.5.9, отсюда http://www.open-mpi.org/ openmpi последней стабильной версии, ну и отсюда http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads mpich2

Собрал всё, установил. torque поставил в /usr/local (ну и скрипты добавил в /etc/init.d). openmpi и mpich2 поставил в /opt/openmpi и /opt/mpich2 , чтобы была возможность выбора, и она была более очевидной.

Итак, настроил. Всё, в принципе работает. Вот, что пишет pbsnodes -a:

mgm
     state = free
     np = 4
     ntype = cluster
     jobs = 0/10.<хостнейм>
     status = много букафф
     gpus = 0

node1
     state = free
     np = 8
     ntype = cluster
     jobs = 0/10.хостнейм
     status = много букафф
     gpus = 0

node2
     state = free
     np = 8
     ntype = cluster
     jobs = 0/10.хостнейм
     status = много букафф
     gpus = 0

node3
     state = free
     np = 8
     ntype = cluster
     jobs = 0/10.хостнейм
     status = много букафф
     gpus = 0

Таким образом 4 ноды (первая главная), остальные вычислительные.

И в принципе всё работает... и в принципе как надо. Одно но, до которого голова моя никак не дойдёт %) не соображаю уже.

Запускаю тестовый скрипт вот такого вида:

#!/bin/bash
#PBS -l mem=100mb,walltime=1:30:00
#PBS -S /bin/bash
#PBS -N testmpi
#PBS -q batch
echo start
date
echo 'openmpi test...'
/opt/openmpi/bin/mpirun ~/testpbs/test.openmpi
echo 'mpich2 test...'
/opt/mpich2/bin/mpirun ~/testpbs/test.mpich2
date
echo end

собственно, test.openmpi и test.mpich2 тестовые программки по типу хеллоуворлда. они работают, всё нормально. После отработки этого скрипта создаются два файлика testmpi.e<номер> и testmpi.o<номер>, во втором соответственно вывод (то есть всё, что после echo, data, и вывод самих программ)

ИТАК, а если добавить в этот скрипт безобидный параметр nodes=4:

#!/bin/bash
#PBS -l [b]nodes=4[/b],mem=100mb,walltime=1:30:00
#PBS -S /bin/bash
#PBS -N testmpi
#PBS -q batch
echo start
date
echo 'openmpi test...'
/opt/openmpi/bin/mpirun ~/testpbs/test.openmpi
echo 'mpich2 test...'
/opt/mpich2/bin/mpirun ~/testpbs/test.mpich2
date
echo end

задача вроде запускается, всё нормально. но никаких файликов в том же каталоге не создаётся!!! и ничего никуда не пишется. никаких ошибок тоже... почему??? %)

И ещё кое-что... если указать параметр nodes=4:npp=4, то тогда он и вовсе ругается, что недостаточно ресурсов

qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes (nodes file is empty or all systems are busy)

Хотя это бессмыслица. на первой ноде 4 проца. на всех остальных по 8. уж по 4 на каждой точно должно запуститься.

В принципе, если эти параметры опускать и запускать без них - всё работает, да... но для чего тогда вообще эти параметры нужны? Где я ошибся?

BattleCoder
()

[kwin] [эффекты] куда подевался снег?

Форум — Desktop

Помню, раньше в kwin были эффекты и снега, и даже дождя... Сейчас что-то в настройках systemsettings я не могу их найти... а раньше были.

Неужели я прослоупочил, и их выпилили? :)

Зима приближается, хочется позаниматься ерундой приукрасить рабочий стол.

kde версии 4.7.3

 ,

BattleCoder
()

[python] [java] [хочется странного] jython

Форум — Development

Вот есть готовое, рабочее написанное приложение на python. Довольно простое (калькулятор, кое-что считает). Переписывать его на java нет желания, но хотелось бы. Да и сложновато это... на java переписывать то, что на python написалось довольно быстро и просто, больше времени отнимет (хотя и мозгов-то хватит).

Под jython-2.5 оно запускается. При запуске для каждого подгружаемого через import модуля создаёт файл, состоящий из имени модуля плюс «$py».class

То есть оно создаёт классы... для каждого модуля.

Интерпретатор его запускает... и оно работает. но мне надо это приложение запустить там, где есть java, но нет ни python, ни jython. Даже не запустить, а применить вызов функции из модуля в программе на java. (ну и результат получить).

Возможно ли это? Или проще не заниматься ерундой, а переписать весь код на java? :)

 , ,

BattleCoder
()

[python] бесплатный хостинг

Форум — Web-development

Требуется разместить ма-аленький скриптик на каком-нибудь хостинге... всё что он делает, это считает... суммирует и умножает кое-что. и выводит результат. калькулятор в общем.

покупать ради этого хостинг не очень хочется =)

Скрипт написан на python.

Какие есть бесплатные сервисы хостинга, с поддержкой python? желательно бы третьей ветки (ну вторая тоже подойдёт).

по поводу ограничений памяти/трафика и т.п... вообще не парюсь. всё по самому минимуму. главное чтобы бесплатно. :) Скрипт очень маленький.

Да... и домен чтобы тоже бесплатный. или чтобы там же был... «в комплекте». опять же второй уровень мне ни к чему (пока ни к чему).

 

BattleCoder
()

[kernel panic] acer timelineX

Форум — Linux-hardware

За сколько лет видел kernel panic только при направильно настроенном grub. а тут такое =)

В общем, мой ноутбук (acer aspire timelineX 1830T) ВНЕЗАПНО стал упадать в kernel panic. Много строчек текста на чёрном экране, полная потеря контроля (ни клава, ни sysrq не отвечают, и, что забавно, синяя мышка (такая тема в кде) посреди экрана всё-таки осталась... недвигающаяся, разумеется.

Грешу на видеокарту... или на видеопамять. Хотя уверен быть не могу. А может быть просто кривая версия ядра (3.0.7 tuxonice-sources)

Пока проверяю сейчас память memtest-ом, тьфу-тьфу - всё нормально. Но смущает, что memtest видит только 1784 мегабайта оперативки (их всего 2). знаю, что часть должна отъедаться видяхой (128 по-моему)... вот хотелось бы видеопамять тоже проверить... но видимо эта память «выделена» видяхе на уровне биоса. есть мысли, как это сделать?

И да... чуть не забыл. kernel panic выскакивает тогда и только тогда, когда нажимаю на кнопку (сочетание fn+стрелка) повышения яркости. Не всегда. Случайным образом (может возникнуть, может, нет).

Самопроизвольно (если не нажимать данное сочетание клавиш) не возникает. Ну не было ни разу во всяком случае.

Кстати, яркость переключается (да и всегда переключалась) с небольшим подтормаживанием на секунду где-то... до этого никогда не смущало так как мелочь, но в принципе так быть не должно. :) наверное. И, что ещё характерно, яркость можно понижать/повышать вышеозвученным сочетанием клавиш, и только им (плазмоид управления питанием из кде игнорится)

 

BattleCoder
()

[math] преобразование Лапласа

Форум — Talks

Требуется использовать преобразование Лапласа (для решения задачи Коши). Алгоритм расписан (и довольно неплохо) вот тут http://www.exponenta.ru/educat/class/courses/ode/theme16/theory.asp

Как это посчитать аналитически, я в принципе понял. Но мне надо численно.

В общем, подзадача такая. Дана функция, заданная по точкам. Например, f(x) в 1000 точках (в общем случае N) с каким-то шагом... ну пусть x от 0 до 1, то есть шаг будет равен dx=0.001. примерно так. (равномерно задана, так проще, да и скорее всего, так и будет она задана).

Чтобы посчитать преобразование Лапласа (прямое ли, обратное ли), мне нужно посчитать численно интеграл. Как считать интегралы, я в принципе знаю (тысячи способов). Правда, комплексные интегралы до этого не считал...

http://www.exponenta.ru/educat/class/courses/ode/theme16/images/Image114.gif вот по этой формуле если - то мне известно f(x) и x в точках от 0 до 1 (то есть интеграл от 0 до бесконечности мне считать не надо, а достаточно от 0 до 1, только на этом отрезке мне функция известна). Новая функция зависит уже от переменной p. Вопрос в том, а на каком отрезке она определена? Какие значения должна принимать p? %) Она комплексная... эт я понял... функция F(p) тоже комплексная?..

Чувствую, сейчас начнутся пинки в мою сторону, что прогуливал матан/функан на первом-втором курсе... ничего я не прогуливал :( просто так объясняли... типа никому ничего не нужно было...

Можно пинать в сторону книжек, где хорошо объяснено, как считать комплексные интегралы =) на матане мы ток вещественные считали.

 

BattleCoder
()

[cuda] [gcc] gcc-4.5

Форум — Development

Компилирую пример отсюда http://code.google.com/p/thrust/

In file included from /opt/cuda/bin/../include/cuda_runtime.h:59:0,
                 from <command-line>:0:
/opt/cuda/bin/../include/host_config.h:82:2: ошибка: #error -- unsupported GNU version! gcc 4.5 and up are not supported!

Я так понимаю, gcc-4.5 ему не нравится... не поддерживает он его. печально :( Кстати, при установке тоже он gcc-4.4 тянул. Мне эта архаичность не очень нравится - странно по меньшей мере. cuda последней версии (4).

Нельзя ли как-то заставить его компилить с gcc-4.5? gcc-config меняет версию gcc, но всё нафик ломает =) какие-то пакеты из-за этого приходится перекомпиливать. Например, после смены на gcc-4.4:

eix: /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by eix)

(с gcc-4.5 всё работает)

Не хотелось бы возвращаться на более старую версию. =) Тем более если перекомпиливать какие-то пакеты. Как вариант... можно было бы заставить nvcc использовать всегда только gcc-4.4 принудительно. можно так сделать?..

 ,

BattleCoder
()

RSS подписка на новые темы