
Berkus
20.01.2017
15:42:09
Чему равны a.a и b.b?
оно на стеке выделяется, поэтому не определено, дефолтных инициализаторов у полей нету
в a правда почему-то нуль, это интересный поворот

Evgeniy
20.01.2017
15:46:01
?

Nikolay
20.01.2017
15:47:01

Google

Nikolay
20.01.2017
15:47:04
но, может, я неправ

Berkus
20.01.2017
15:47:27
ща, ищу в стандарте

Cyber
20.01.2017
15:47:50
Вообще сначала проходит инициализация полей, потом конструктор, вопрос в том чем поля инициализируют?

Nikolay
20.01.2017
15:48:29

Berkus
20.01.2017
15:49:47
main:
push rbp
mov rbp, rsp
sub rsp, 32
mov DWORD PTR [rbp-16], 0 <= foo::foo()
lea rax, [rbp-32]
mov rdi, rax
call bar::bar()
mov eax, 0
leave
ret

Сергей
20.01.2017
15:51:45
отличное название для Clang )_)))))

Berkus
20.01.2017
15:53:02
разница совершенно точно в inline vs out-of-line ctor
> If no initializer is specified for an object, the object is default-initialized; if no initialization is performed, an object with automatic or dynamic storage duration has indeterminate value.
хорошо, в случае б мы это видим
а вот про а не могу найти в стандарте
?
есть номер параграфа хотя бы?

Evgeniy
20.01.2017
16:08:19

Google

Berkus
20.01.2017
16:08:29
давай
кому скучно может заткнуть глаза

Mikhail
20.01.2017
16:08:45
The implicitly-defined default constructor performs the set of initializations of the class that would be performed by a user-written default constructor for that class with no ctor-initializer (12.6.2)

Berkus
20.01.2017
16:09:30
но при этом
To default-initialize an object of type T means:
— if T is a (possibly cv-qualified) class type (Clause 9), the default constructor for T is called (and the initialization is ill-formed if T has no accessible default constructor);
— if T is an array type, each element is default-initialized;
+ otherwise, no initialization is performed.

Mikhail
20.01.2017
16:09:34
не то?

Berkus
20.01.2017
16:09:39
не совсем
поле в классе у нас POD, поэтому оно подпадает под "otherwise, no initialization is performed"

Evgeniy
20.01.2017
16:10:30
https://tartanllama.github.io/c++/2017/01/20/initialization-is-bonkers/

Berkus
20.01.2017
16:12:45
> The language mandates that the type without the user-provided constructor is value-initialized and the type with is default-initialized.
ыыыы
отлично
ну понятно что сейчас надо просто писать struct foo { int a = 0; } и не париться за конструкторы

Anna
20.01.2017
16:25:44
ребята, привет
у кого-нибудь был опыт с CUDA?
Нужна помощь

Evgeniy
20.01.2017
16:27:33
да

Mikhail
20.01.2017
16:27:46

Anna
20.01.2017
16:28:34
#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
__global__ void add(int a, int b, int *c)
{
*c = a + b;
}
int main(void)
{
int c = 0; int *dev_c;
cudaMalloc((void**)&dev_c, sizeof(int));
add <<<1, 1>>>(2, 2, dev_c);
cudaMemcpy(&c, dev_c, sizeof(int), cudaMemcpyDeviceToHost);
printf("%d\n", c);
system("pause");
return 0;
}
почему-то вместо 4х выводит 0
нам в универе задали, я сама первый день вот только села ее учить

Mikhail
20.01.2017
16:54:43
#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
__global__ void add(int a, int b, int *c)
{
*c = a + b;
}
int main(void)
{
int c = 0; int *dev_c;
cudaMalloc((void**)&dev_c, sizeof(int));
add <<<1, 1>>>(2, 2, dev_c);
cudaMemcpy(&c, dev_c, sizeof(int), cudaMemcpyDeviceToHost);
printf("%d\n", c);
system("pause");
return 0;
}
почему-то вместо 4х выводит 0
Не уверен что можно передавать значения в параметрах add функции

Anna
20.01.2017
16:55:54
для меня магия - это вот-этот кусок:
<<<1, 1>>>

Google

Anna
20.01.2017
16:56:25
этот пример, что я скинула - это препод писал

Mikhail
20.01.2017
16:56:42
хотя нет, можно

Makar
20.01.2017
16:57:06
/stat@combot

Combot
20.01.2017
16:57:06
combot.org/chat/-1001031904034

Anna
20.01.2017
16:57:08

Evgeniy
20.01.2017
16:57:31
#include <stdio.h>
#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
__global__ void add(int a, int b, int *c)
{
*c = a + b;
}
int main(void)
{
int c = 0; int *dev_c;
cudaMalloc((void**)&dev_c, sizeof(int));
add <<<1, 1>>>(2, 2, dev_c);
cudaMemcpy(&c, dev_c, sizeof(int), cudaMemcpyDeviceToHost);
printf("%d\n", c);
system("pause");
return 0;
}
почему-то вместо 4х выводит 0
У меня 4

Anna
20.01.2017
16:57:38
только я одного не понимаю, почему какое бы я туда число не записала, оно выводит 0 все равно?

Mikhail
20.01.2017
16:57:48

Evgeniy
20.01.2017
16:57:52

Anna
20.01.2017
16:58:06

Oleg
20.01.2017
16:58:07
А что такое блок?

Anna
20.01.2017
16:58:25
странно, я смотрела на оф сайте и моя карточка вроде бы поддерживаеться

Mikhail
20.01.2017
16:58:58
А что такое блок?
просто в видеокарте охулиард ядер. И они разделяются на блоки. Например может быть 256 блоков с 256 потоками в каждом

Evgeniy
20.01.2017
16:59:11

Mikhail
20.01.2017
16:59:12
итого реально потоков 256*256

Oleg
20.01.2017
16:59:36
Они так и называются "блоки"?

Mikhail
20.01.2017
16:59:39
@infatum а ты уверена что твоя видеокарта поддерживает cuda?

Anna
20.01.2017
16:59:41

Google

Mikhail
20.01.2017
16:59:47

Evgeniy
20.01.2017
17:00:41
Советую cs344 на Udacity

Mikhail
20.01.2017
17:03:30
@infatum а какую версию cuda выставила?
Твоя карта вроде поддерживает только 2.1

Anna
20.01.2017
17:03:43
последнюю... 8.0

Mikhail
20.01.2017
17:03:55
ну вот и ответ :)
она у тебя не поддерживается

Admin
ERROR: S client not available

Anna
20.01.2017
17:04:10
правда с приставкой м

Mikhail
20.01.2017
17:04:48
ну попробуй выставь 2.1
или меньше

Anna
20.01.2017
17:07:45
серьезно?

Alex Фэils?︙
20.01.2017
17:08:15

Дед Пегас
20.01.2017
17:10:05

Mikhail
20.01.2017
17:10:20
серьезно?
так прогресс то не стоит на месте :)
Ну вообщем уменьши версию, это пока всего лишь теория

Google

Anna
20.01.2017
17:10:43
nVidia горите в аду, вместе с моим злоипучим универом

Mikhail
20.01.2017
17:11:05

Дед Пегас
20.01.2017
17:11:24

Anna
20.01.2017
17:11:28
а что мне делать, если не поддерживаеться? и почти у всех моих одногруппников такая же история
OpenCL никак?
я хз, препод не ходит к нам на пары, от слова - совсем

Mikhail
20.01.2017
17:11:55
так там в настройках студии можно выставить версию

Дед Пегас
20.01.2017
17:12:07

Anna
20.01.2017
17:12:38
а еще у нас курсовой нужно сдавать в пн, по микроконтроллерам и препод ни на 1 пару не явился, не выдал ни заданий, ни методичек

babysitter
20.01.2017
17:12:43
а нет онлайн каких-нибудь бесплатных платформ для кудоэкспериментов?

Anna
20.01.2017
17:12:50
это что б вы понимали, в какой параше я учусь

Дед Пегас
20.01.2017
17:12:50
Тоже в печь.

Mikhail
20.01.2017
17:12:56

Alex Фэils?︙
20.01.2017
17:13:15
у меня можно на планше куду юзнуть. Только надо ее сначала dlopen

Anna
20.01.2017
17:13:20
Тоже в печь.
проще просто заложить бомбу в подвале и подорвать все к хуям

Mikhail
20.01.2017
17:13:34

Дед Пегас
20.01.2017
17:14:04

Anna
20.01.2017
17:14:05

Mikhail
20.01.2017
17:14:10
Ну т.е. советую не обращать на это внимания и херачить код :)

Anna
20.01.2017
17:14:13
заочка, четвертый курс

Дед Пегас
20.01.2017
17:14:22