Olá a todos, sou Liu Ming, fundador da Mingzhi Technology e evangelista da Huawei MindSpore.
Tecnicamente, ele se concentra no desenvolvimento front-end, no desenvolvimento de Hongmeng e na pesquisa de algoritmos de IA.
Eu me esforço para levar o compartilhamento contínuo de tecnologia a todos. Se você também gostou do meu artigo, clique e siga-o.
O texto começa
A segunda temporada do Huawei Ascend CANN Training Camp 2024 já começou. Os participantes do campo de treinamento podem aprender cursos gratuitamente, fazer exames de certificação e compartilhar um grande prêmio de 10.000 yuans.
Se você ainda não se inscreveu no campo de treinamento, pode clicar no seguinte link para se registrar:
Link de registro da segunda temporada do Huawei Ascend CANN Training Camp 2024
Uma parte importante do campo de treinamento é participar da Certificação de Capacidade de Desenvolvimento de Operador Ascend C (Nível Intermediário). Compartilharei algumas experiências aqui para sua referência. Espero que todos possam passar com sucesso na certificação.
Introdução ao exame de certificação
Atualmente, o exame de certificação tem apenas uma questão de programação e nenhuma questão de múltipla escolha ou resposta curta.
A seguir está uma introdução às questões do exame de certificação
- Tipo de exame: questões de programação
- Duração do exame:
O tempo do exame é de apenas 2 horas. Prepare o pacote de arquivos de síntese das perguntas antes de enviá-lo para o exame!
Ponto principal: certifique-se de responder você mesmo às perguntas antes de fazer o exame e carregá-las. Leva apenas alguns segundos para responder às perguntas e depois carregá-las, portanto, 2 horas não serão gastas.
- Requisitos de construção do ambiente de exame:
O ambiente deve ter Ascend NPU e a versão CANN deve ser 8.0.RC2.alpha003. Os desenvolvedores são solicitados a prepará-lo sozinhos.
O ambiente do exame não é criado durante o exame. Você precisa usar o Orange Pi ou construí-lo no Huawei Cloud ModelArts. Os métodos de construção específicos são documentados após a entrada no campo de treinamento.
- Pergunta de exame:
Implemente o operador Ascend C Sinh, nomeie o operador SinhCustom, escreva seu código do lado do kernel e do lado do host e conclua o teste de chamada do operador aclnn.
Algoritmo relacionado: sinh(x) = (exp(x) - exp(-x)) / 2.0
Requisitos:
4.1 Conclua o código relacionado à função do kernel do lado do kernel do operador Sinh.
4.2 Conclua a criação de variáveis de membro da estrutura Tiling no lado do host do operador Sinh e conclua a função de implementação do Tiling.
4.3 Para suportar entrada e saída do tipo Float16.
4.4 Não use API de alto nível do Sinh Não haverá pontos para usar APIs de alto nível.
Esta é a questão do exame, o ponto-chave entre os pontos-chave. Não há garantia de que as questões não mudarão posteriormente.
algumas pequenas experiências
- O exame de certificação exige uma taxa de inscrição de 38 yuans, mas se você receber um cupom de certificação antes do exame, poderá obter a certificação gratuitamente. O número de cupons é limitado e é oferecido por ordem de chegada. Caso não consiga, pode esperar até a próxima segunda-feira e novos cupons serão adicionados.
- Recomenda-se responder às questões antes da certificação e depois iniciar o exame. Isso torna mais fácil carregar o código diretamente.
- Existem 10 oportunidades para responder perguntas no exame, portanto há mais oportunidades. Se você quiser ver como é o sistema de exames, basta clicar e desperdiçar a oportunidade.
- A autenticação de nome real pode ser feita antes ou depois do exame. Se for autenticação de nome real após o exame, deve ser autenticada em até 10 dias após o exame. Sem autenticação de nome real, não há certificado.
- A correção é manual, portanto os professores corrigirão as provas apenas nos dias úteis. Após a correção, caso o resultado do exame seja aprovado, o certificado será emitido no dia seguinte. A central pessoal pode exibir [Falha], o que é um problema do sistema, então não se preocupe. Espere até o dia seguinte.
Como se preparar para o exame
O exame requer a implementação de um operador sinh, o que não é difícil por si só, mas requer um conhecimento básico do desenvolvimento do operador Ascend. Recomenda-se estudar primeiro a documentação oficial do site.
Muitos alunos relataram que havia muito conteúdo no documento oficial e não sabiam que parte ler. Deixe-me recomendar aqueles diretamente relacionados ao exame.
Portanto, consulte diretamente o link abaixo
Desenvolvimento de operador com base no projeto de operador personalizado .
O projeto de código original é fornecido no exame. Você só precisa concluir as adições do código-chave com base nos comentários do projeto original.
As principais partes concluídas incluem op_host
e op_kernel
duas partes. O link que forneci acima foca nas funções e parte do código dessas duas partes.