ทวีตที่ปักหมุด
karol von neumann
4.5K posts

karol von neumann
@byteoverwhelmed
computer science 5/8 ifg 💍 @Tiapulava
pretty girl avenue เข้าร่วม Mart 2023
103 กำลังติดตาม296 ผู้ติดตาม
karol von neumann รีทวีตแล้ว

@AiKathG valeuu, eu nunca tinha ouvido falar em pointer aliasing
fiz uma implementacao com restrict agora mas acho que ainda não ta perfeito, vou tentar melhorar
Português

@byteoverwhelmed compilador que aquele ponteiro nunca vai se intersectar com outro ponteiro.
(troquei o 10000 por 9000 só pq ele nn tava compilando no windows)
Português

question: fiz 2 versões do mesmo programa (soma lotes da matriz A e B e armazena na matriz C)
no programa A, as matrizes foram criadas via ponteiros; no B, com notação de []
ambos executam em tempo similar, mas adicionando a flag -O3, o programa B executa mt + rápido q o A
pq?
karol von neumann@byteoverwhelmed
fiz programação paralela multithreading em C pra somar 2 matrizes
Português

@RafaelVVolkmer pqp ajudou demais
já li 2x e to com um monte de coisa que eu nao sabia que existia pra pesquisar agora, vou fazer uns 10 testes novos e ver se consigo deixar o tempo dos dois iguais
implementei restrict mas ainda não tá tao eficiente quando na alocacao estatica
Português

@byteoverwhelmed Se quiser confiar nas vozes da minha cabeça, tmj, espero ter ajudado em algo kkkkkk: github.com/RafaelVVolkmer…
Português


@Nihili439 a questão é pq a otimização em um programa foi mt maior do que na de outro, ambos fazem a mesma coisa e a >unica< diferença é na forma que se lida com as matrizes
Português

@byteoverwhelmed Eu n sei se eu to chapando ou n, mas flag n era um negócio de otimização n?
Português

@byteoverwhelmed Você entende o que é ponteiro e o que é O3?
Português

@byteoverwhelmed Tenho alguns chutes (provavelmente o comportamento de restrict) mas sem olhar o código é dificil dizer...
Português

@byteoverwhelmed Para eu conseguir entender o motivo precisaria de um exemplo do codigo. Para entender exatamente oque foi feito. Com isso eu consigo ajudar e descobrir.
Português

@PyBitz não, um número N de threads soma a matriz A com a B e armazena em C paralelamente
Português

@byteoverwhelmed 3 threads, 1 pra alocar a matriz A, outra pra B e a ultima pra somar as 2
Português

@Marcos7765 ambos são espaços contínuos na memória
Português

@byteoverwhelmed provavelmente um deles pode ser assumido como um espaço contíguo de memória pelo compilador e o outro não, os dois são matrizes mesmo ou um deles é um array de ponteiros?
Português





