Российские распределенные вычисления на платформе BOINC
Форум участников распределённых вычислений.

Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

5 Страницы«<345
Опции
К последнему сообщению К первому непрочитанному
Offline SerVal  
#81 Оставлено : 22 марта 2017 г. 13:17:22(UTC)
SerVal


Статус: Administration

Медали: Донор: За финансовую помощь сайту

Группы: Editors, Administration, Russia Team Group
Зарегистрирован: 28.09.2007(UTC)
Сообщений: 3,059
Мужчина
Откуда: Москва, Ясенево.

Сказал «Спасибо»: 259 раз
Поблагодарили: 516 раз в 358 постах
Вот здесь:
len = CudaSieve::countPrimes( bottom, top); // это не нужно.
primes = CudaSieve::getHostPrimesVector( bottom, top, len); // вместо "len", поставить адрес: &len
то есть, должно быть:
primes = CudaSieve::getHostPrimesVector( bottom, top, &len);

После вызова в len будет число найденных( размер вектора).
* тип len должен быть size_t
thanks 1 пользователь поблагодарил SerVal за этот пост.
256Ghz оставлено 22.03.2017(UTC)
Offline 256Ghz  
#82 Оставлено : 22 марта 2017 г. 13:43:03(UTC)
256Ghz


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 29.06.2016(UTC)
Сообщений: 211
Российская Федерация

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 124 раз в 71 постах
не хочет.


src/main.cpp:15:57: error: non-const lvalue reference to type 'size_t' (aka 'unsigned long'wink cannot bind to a temporary of type 'size_t *' (aka 'unsigned long *'wink
primes = CudaSieve::getHostPrimesVector( bottom, top, &len);
^~~~
./include/CUDASieve/cudasieve.hpp:159:92: note: passing argument to parameter 'count' here
static std::vector<uint64_t> getHostPrimesVector(uint64_t bottom, uint64_t top, size_t & count, uint16_t gpuNum = 0);
^
1 error generated.
make: *** [obj/main.o] Error 1
Offline SerVal  
#83 Оставлено : 22 марта 2017 г. 14:35:46(UTC)
SerVal


Статус: Administration

Медали: Донор: За финансовую помощь сайту

Группы: Editors, Administration, Russia Team Group
Зарегистрирован: 28.09.2007(UTC)
Сообщений: 3,059
Мужчина
Откуда: Москва, Ясенево.

Сказал «Спасибо»: 259 раз
Поблагодарили: 516 раз в 358 постах
Ну, можно ещё попробовать:
Код:

	size_t len = 10;
	size_t *ptr;
	ptr = &len;
	primes = CudaSieve::getHostPrimesVector(bottom, top, ptr);

Если не получится, тогда не знаю как. Под виндовс не компилится.
*****
Вообще-то, правильные библиотечные функции должны возвращать не вектор или что-нибудь ещё, а код ошибки.
Например: 0 - SIEVE_STATUS_SUCCESS, не 0 - какая-нибудь ошибка.
А вектор функция должна получать как параметр.
Типа:
Код:

int sieve_status = CudaSieve::getHostPrimesVector(bottom, top, &count, myVector);
if( sieve_status != SIEVE_STATUS_SUCCESS)
{
   printf("Error: %u", sieve_status);
   exit(sieve_status);
}
Offline 256Ghz  
#84 Оставлено : 22 марта 2017 г. 14:58:40(UTC)
256Ghz


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 29.06.2016(UTC)
Сообщений: 211
Российская Федерация

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 124 раз в 71 постах
А почему вы думаете что значение должно вернутся ?
Если поможет ссылка полезная -->https://github.com/curtisseizert/CUDASieve/blob/master/README.md
А то я с нуля С++ фактически изучаю. Могу допускать элементарные раздражающие ошибки.


Спасибо за помощь !

Автор: SerVal Перейти к цитате
Ну, можно ещё попробовать:
Код:

	size_t len = 10;
	size_t *ptr;
	ptr = &len;
	primes = CudaSieve::getHostPrimesVector(bottom, top, ptr);

Если не получится, тогда не знаю как.


Offline 256Ghz  
#85 Оставлено : 22 марта 2017 г. 15:03:14(UTC)
256Ghz


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 29.06.2016(UTC)
Сообщений: 211
Российская Федерация

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 124 раз в 71 постах
Цитата:


Вообще-то, правильные библиотечные функции должны возвращать не вектор или что-нибудь ещё, а код ошибки.
Например: 0 - SIEVE_STATUS_SUCCESS, не 0 - какая-нибудь ошибка.
А вектор функция должна получать как параметр.
Типа:
Код:

int sieve_status = CudaSieve::getHostPrimesVector(bottom, top, &count, myVector);
if( sieve_status != SIEVE_STATUS_SUCCESS)
{
   printf("Error: %u", sieve_status);
   exit(sieve_status);
}


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

Код:

primesieve::generate_primes(start, end_int, &primes )


Но тут как то все не так sad


Это дело у меня собирается (но не работает именно вектор, все остальное в функции в порядке, но не нужны smile) под линуксом, сегодня попробую запихнуть все это в VS2015
Offline SerVal  
#86 Оставлено : 22 марта 2017 г. 15:29:36(UTC)
SerVal


Статус: Administration

Медали: Донор: За финансовую помощь сайту

Группы: Editors, Administration, Russia Team Group
Зарегистрирован: 28.09.2007(UTC)
Сообщений: 3,059
Мужчина
Откуда: Москва, Ясенево.

Сказал «Спасибо»: 259 раз
Поблагодарили: 516 раз в 358 постах
Цитата:
А почему вы думаете что значение должно вернутся ?
Потому что в прототипе функции - адрес переменной count:
static std::vector<uint64_t> getHostPrimesVector(uint64_t bottom, uint64_t top, size_t & count, uint16_t gpuNum = 0);
Адрес нужен, чтобы по нему изменить значение переменной.
Если не нужно менять переменную, а просто её использовать, то переменную передают по значению (то есть, копию).
Как , например, в случае с gpuNum.
Цитата:
сегодня попробую запихнуть все это в VS2015

Вряд ли получится. У Visual Studio нет необходимых функций. В частности, nlz(..);
Offline 256Ghz  
#87 Оставлено : 24 марта 2017 г. 0:06:13(UTC)
256Ghz


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 29.06.2016(UTC)
Сообщений: 211
Российская Федерация

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 124 раз в 71 постах
Существующий генератор.

Цитата:

[root@CudaTest CudaMine]# time ./search
real 2m37.325s


С использованием CUDAsieve

Цитата:

[root@CudaTest CudaMine]# time ./primesearch
real 0m25.048s




Прогресс в 6 раз в диапазоне 2^63
Пилим дальше.

thanks 1 пользователь поблагодарил 256Ghz за этот пост.
citerra оставлено 24.03.2017(UTC)
Offline 256Ghz  
#88 Оставлено : 24 марта 2017 г. 3:41:32(UTC)
256Ghz


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 29.06.2016(UTC)
Сообщений: 211
Российская Федерация

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 124 раз в 71 постах
Удалось перетащить и собрать под Win64
Работает.
Спать...!!!
thanks 2 пользователей поблагодарили 256Ghz за этот пост.
AlexA оставлено 24.03.2017(UTC), SerVal оставлено 24.03.2017(UTC)
Offline Disel  
#89 Оставлено : 25 марта 2017 г. 6:48:42(UTC)
Disel


Статус: Старожил

Медали: Донор: За финансовую помощь сайту

Группы: Member, Russia Team Group
Зарегистрирован: 08.07.2013(UTC)
Сообщений: 3,325
Мужчина
Российская Федерация

Сказал «Спасибо»: 424 раз
Поблагодарили: 398 раз в 301 постах
Добавились приложения: Subproject 9-15 HM и Subproject prime gaps (beta test). Что она считают и какова длительность работы?
Ubuntu Linux 14.04 LTS - 64 bit / Boinc 7.2.42(х64) / Core 2 DUO E6300 1.8 Ггц / GeForce GT-630
Offline ReaDy  
#90 Оставлено : 26 марта 2017 г. 18:47:15(UTC)
ReaDy


Статус: Давно уж тут

Группы: Member
Зарегистрирован: 03.08.2013(UTC)
Сообщений: 497
Российская Федерация

Сказал(а) «Спасибо»: 174 раз
Поблагодарили: 201 раз в 148 постах
Проект перестал выдавать задания Search Prime Sequence LM
6419*2^1351093+1 is prime!
thanks 1 пользователь поблагодарил ReaDy за этот пост.
256Ghz оставлено 26.03.2017(UTC)
Offline 256Ghz  
#91 Оставлено : 26 марта 2017 г. 22:59:43(UTC)
256Ghz


Статус: Частенько заглядывает

Группы: Member
Зарегистрирован: 29.06.2016(UTC)
Сообщений: 211
Российская Федерация

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 124 раз в 71 постах
Новые приложения уже старыеsmile
Я вводил их в качестве подпроектов, генерировал задания и выдавал задания определенному пользователю.
1. Смотрел как работает сервер.
2. Задачи маленькие, и решил их сам.

Все никак не сделаю автоматическую генерацию заданий, знаний не хватает.
Съездил в магазин купил книжек, учусь с утра до ночи.
Стараюсь знания довести хоть до какого ни будь приемлемого уровня. Методом тыка и упорства особо не на конструляешь, да и времени много уходит. "Потом за час долететь..." лучше.


Обновил карту. http://stop.inferia.ru/map.htm

Be happy !
Вложение(я):
IMG_1390-26-03-17-10-53.jpeg (243kb) загружен 11 раз(а).
thanks 2 пользователей поблагодарили 256Ghz за этот пост.
citerra оставлено 26.03.2017(UTC), ReaDy оставлено 27.03.2017(UTC)
Offline ReaDy  
#92 Оставлено : 27 марта 2017 г. 9:16:47(UTC)
ReaDy


Статус: Давно уж тут

Группы: Member
Зарегистрирован: 03.08.2013(UTC)
Сообщений: 497
Российская Федерация

Сказал(а) «Спасибо»: 174 раз
Поблагодарили: 201 раз в 148 постах
Может будет лучше попробовать вместо CUDA OpenCL? Ведь если получиться, то будет приложение и для карточек AMD, а не только Nvidia.
6419*2^1351093+1 is prime!
Offline citerra  
#93 Оставлено : 27 марта 2017 г. 11:40:39(UTC)
citerra


Статус: Старожил

Медали: Первооткрывателю: Результат в проекте SAT@homeДонор: За финансовую помощь сайту

Группы: Editors, Member, Russia Team Group, Moderators
Зарегистрирован: 02.10.2007(UTC)
Сообщений: 1,742

Сказал(а) «Спасибо»: 293 раз
Поблагодарили: 274 раз в 200 постах
Вчера утвердили корректировки . Добавлено 7 новых магических констант, найденных в проекте.
thanks 1 пользователь поблагодарил citerra за этот пост.
AlexA оставлено 27.03.2017(UTC)
Пользователи, просматривающие эту тему
Guest (2)
5 Страницы«<345
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.

AlexA theme. Created by AlexA
Форум YAF 2.1.1 | YAF © 2003-2017, Yet Another Forum.NET
Страница сгенерирована за 0.232 секунды.