 Bonjour tout le monde, nous sommes de Carnot Computing et nous sommes là pour vous parler du Smart Splitting avec la plateforme de Carnot Blender, donc nous parlons de la plateforme de Carnot Blender, donc n'importe qui dans cet endroit sait la plateforme de Blender, ok, cool. Nous, à Carnot, faisons les éteurs, donc ça ressemble à un éteur normal, mais la différence est à l'intérieur. Donc à l'intérieur, vous avez MozaWord et CPUs et donc ça produit beaucoup de éteurs, comme vous le savez, donc nous mettons ça dans ce nouveau éteur et nous mettons ça dans les hausses des gens, donc ils en ont, et quand les gens utilisent notre plateforme pour le render, ils vont manger les gens. Donc nous avons un modèle dual sided business, donc sur l'un de l'autre, nous sommes une plateforme de cloud, nous vendons un temps de computation pour l'individu à deux compagnies et sur l'autre côté, nous produisons l'éteur et nous mettons ça dans les hausses des gens et nous payons les billets d'électricité pour eux, donc ils ont mangé pour frein avec d'autres gens le rendant, mais nous ne faisons pas seulement l'éteur, donc à l'hôtel et aujourd'hui, nous faisons le curade, donc le premier éteur digital, et nous faisons aussi un autre type de computation, parce que le but principal de notre plateforme est d'être agnostic et nous pouvons déployer la computation sur ce qu'on appelle le curade, c'est comme un petit chelon avec beaucoup de bords, c'est le plus cher moyen de avoir beaucoup de computation dans un petit sable, donc vous pouvez mettre ça dans un building et avoir beaucoup d'éteurs pour votre building, et nous sommes aussi venus utiliser public cloud comme Amazon pour vendre la computation, c'est la même pour nos clients, donc ils nous vendent leur computation et nous pouvons vendre à l'éteur, ou si il n'y a pas assez d'éteurs, nous pouvons vendre à public cloud et nous sommes aussi en train de manger l'eau et d'utiliser le public cloud et de l'accompagner pour pouvoir éteindre si les gens ont besoin de scale. Donc avec ça, nous ne sommes pas seulement en train de faire un render, nous sommes une plateforme de compute générique, donc nous pouvons faire la computation grénaire parce que l'eau n'est pas éteinte, c'est plus rapide parce que nous pouvons obtenir 100 CPUs en moins de 40 secondes et c'est plus cher parce que nous n'avons pas d'infrastructure, nous n'avons pas besoin de construire un datacenter, nous n'avons pas besoin d'un cool datacenter et donc nous avons aussi un Python SDK pour commencer la computation sur notre plateforme, donc avec cette ligne de Python, vous pouvez commencer un render de blender sur notre plateforme et obtenir le résultat dans quelques minutes. Donc nous avons aussi travaillé avec la fondation de blender, nous avons fait le render pour le film Cosmos Landromat et maintenant nous allons parler du problème de la plage de la plage. Ok, merci. Donc, comme il l'a expliqué, nous essayons de faire, je veux dire, un render distributaire et pour cela, nous utilisons une représentation classique de comment vous pouvez formuler ce processus en manière distributaire. Donc ce modèle, c'est pas, je veux dire, ce n'est pas nous qui proposons, c'est un modèle général qui existe dans la littérature pour le processus de render, vous avez en général 3 stages, le premier stage où vous compute le processus de géométrie, nous utilisons le moteur de blender, donc nous travaillons principalement avec la plage de la plage, mais à ce point, vous pouvez aussi faire la plage de la plage ou, je veux dire, l'infrastration si vous utilisez un autre engine, et le dernier stage est composé. Donc, c'est un modèle général, je veux dire, c'est une phase de triment que les gens pensent, quand ils veulent penser sur comment parallèler. Et dans la littérature scientifique, dans ce processus, les gens disent que il y a une façon différente d'assurer un tasque différent. Et, selon la façon dont vous l'assurez, vous pouvez faire un sort-first, un sort-middle, ou un sort-last parallelisation. Et nous, nous faisons ce qu'on appelle le sort-first parallelisation. Dans le sort-first parallelisation, la main idée est que le tasque de géométrie est le même tasque pour tous les différents sub-tags que vous avez dans le marché. Donc, quand vous devez commencer le stage de la plage de la plage, chaque processus différent, vous devez travailler sur le sub-part de l'image dont, je veux dire, cela a été assigné à lui. Donc, au final, le tasque de composité est facile, parce que vous avez juste une image différente que vous devez avoir. Et nous avons choisi cette solution, parce que nous avons un cloud géodistributaire, comme il l'a expliqué, et pour la communication, un point de vue de communication, si vous voulez distribuer la compétition, je veux dire, si vous faites beaucoup de... On ne va pas faire beaucoup de communications entre nous. Le processus de rendition ne serait pas si bon. Donc, pour nous, c'était plus intéressant d'avoir une phase de composité qui serait vraiment facile. Donc, comme je l'ai dit, le bon point, je veux dire, le mauvais point est que vous avez un tasque du duplicateur, au début, parce que vous avez plusieurs notes qui font le même chose. Mais le bon point, comme je l'ai dit aussi, c'est que vous pouvez évoquer l'expectif de la communication, et nous ne pouvons pas juste poursuivre cette façon de communication, si vous imaginez un contexte géodistributaire. Maintenant, pour créer un parallèle dans ce modèle, comme je l'ai dit, nous décomposons une image dans un sub-region, dans une autre sub-region. Et dans nos casques, nous utilisons une solution de tâchement rectangles. C'est-à-dire que nous décomposons l'image dans un autre rectangle. En fait, ce n'est pas vraiment un rectangle, parce que vous devez considérer la dimension de la dimension RGB. Donc, en général, nous travaillons avec une image 3G. Donc, probablement, ce n'est pas vraiment un tâchement rectangle, mais vous pouvez voir dans une géométrie, nous sommes un rectangle. Et nous avons plusieurs compositions de générique que nous proposons si vous êtes connectés à notre plateforme. Vous pouvez donner votre image, si vous voulez le rendre, ou si vous voulez faire un rendering parallèle pour la vidéo, vous avez des compositions de générique différents que vous pouvez choisir d'utiliser. Donc, notre question maintenant, c'est que, pour exemple, ce que vous pouvez avoir, quand vous avez une image que vous portez ici, et vous voulez faire un rendering, vous avez ce genre de compositions, ce genre de compositions que vous pouvez choisir, et nous avons aussi un autre mode que nous avons introduit, c'est le mode automatique. La idée est de proposer à l'utilisateur, à notre client, et à l'automatique, la composition, ça peut être efficace, dépendant de la compétition. Et le but de cette présentation, c'est de voir comment nous pouvons augmenter la fonction naturelle de ce mode. Donc, pour vous voir comment le problème est, dans une manière pratique, si vous avez une image comme celle-ci, vous pouvez faire une compétition square, et cela peut être lié à un temps différent, si vous faites le rendering de ce subimage sur différents processus. Et si vous choisissez la composition, vous avez un autre temps, et si vous choisissez ceci, vous avez un autre temps. Donc, si vous considérez que vous voulez optimiser le maximum de temps que nous attendons pour le processus, dépendant de la compétition que vous choisissez, vous n'aurez pas le temps du même temps. Donc, le but est de trouver un moyen pour proposer une compétition automatique, l'intelligence, la composition, que, selon une image, nous pouvons automatiquement appliquer et faire surement que ce soit optimisé, c'est-à-dire le profit pour le client. Et, selon cette question, il y a deux questions que nous considérons. Le premier est, qu'est-ce qui est le temps de processus dans les différentes régions? Parce que si vous décomposez comme ceci, ce sont des temps de renseignement que nous avons mises après la renseignement, après le processus. Mais nous devons avoir une estimation avant, sinon nous pouvons choisir entre ces différents compositions. Et si nous avons une estimation de temps différent, on peut s'exprimer dans différentes régions, la question seconde sera comment nous ferons effectivement l'image dans la compétition. Donc, ce sont deux questions que nous considérons pour ce problème. Et pour la première question, nous avons commencé, nous avons fait une assumption sur ce que l'impact peut être dans le temps de renseignement que vous avez dans le processus. Donc, nous imaginons que le nombre de samples peut probablement impacter la qualité, le temps de renseignement que nous avons spenté, le ratio que nous utilisons, le nombre de celles, et par celles, je veux dire octres, polygons, ou tout ce que vous utilisez pour représenter, pour composer l'image, le nombre de frames peut aussi être, je veux dire, quelque chose que nous avons vu dans la littérature, ce qui peut être important. Et il y a aussi ce concept que je n'ai pas... Je ne sais pas vraiment bien comprendre ce qu'il est, mais il y a la notion de pixel intensité dans plusieurs... Je veux dire, le papier scientifique, ce qui peut être un paramétre qui impacte le temps de renseignement que nous avons spenté dans ce processus. Et par cette assumption, nous avons commencé à voir comment nous pouvons imaginer le problème, comment nous pouvons tackleer le problème. Et une solution qui est naturelle, dans la main, c'est de dire que nous pouvons faire, donner une image, nous pouvons faire un rendu, un premier rendu avec un peu de nombre de samples. Donc c'est un bad rendu, ce n'est pas le rendu, c'est le rendu target. Mais nous pensons que si vous faites un rendu avec un peu de nombre de samples, vous pourrez avoir une estimation que vous pouvez utiliser maintenant pour créer un parallèle avec le... C'est le bon nombre de samples à l'endroit. Donc c'est l'idée générale que nous proposons. Et vous pouvez faire le même avec le nombre de ratios ou ce n'est pas le paramètre que nous pouvons considérer dans la liste d'assumptions que nous considérons. Et nous proposons cette idée et nous avons commencé à voir, nous essayons de voir si ou non. Je pense que c'est même significatif. C'est-à-dire, peut-on vraiment dire que le nombre de samples ont un impact sur le temps de renseignement de la procédure. Et quand nous considérons un subset d'images, nous avons déclaré un image de 96. Et nous avons vu que si vous changez le nombre de samples, vous pouvez trouver comme un modèle de réunition qui dit régulièrement comment le temps de renseignement est correlé avec le nombre de samples que vous utilisez. Mais notre database que vous pouvez déclarer et ce sera un correct critique ici, c'est que le nombre de samples ne pourrait pas être représentatif de la pandémie. C'est-à-dire le type entier de l'image que nous pouvons avoir. Et nous avons aussi trouvé une autre réunition légère quand vous considérez aussi le nombre de ratios. Donc, c'était bien, cela signifie que nous pouvons effectivement penser que si vous faites un renseignement avec un peu de nombre de samples, vous pouvez avoir une estimation que vous pourrez procéder pour trouver le meilleur moyen de décomposer l'image dans la computation parallèle. Donc le deuxième résultat que nous avons trouvé est que nous n'avons pas besoin de trop de samples pour avoir une projection finale qui est importante en termes de compétition. Cela ne veut pas dire que, pour l'instant, ce temps-ci que j'ai mis est ce que nous espérons donner une première subdivision de l'image que nous avons créée et où nous avons collecté le renseignement basé sur un peu de nombre de samples. Mais cela ne veut pas que ce soit le final, je veux dire, ce temps-ci que nous avons dans la pratique. Cela ne veut pas qu'on ait suffisamment d'informations pour être représentatives selon le meilleur moyen de créer le parallèle. Donc ce résultat était important parce que pour cela nous pouvons continuer d'adresser une question seconde. Donc la question seconde pour nous était que nous avons quelque chose comme ceci donc nous prenons l'image pour faire une grande grande rendition où nous avons quelques nombres de samples ou quelques petites ratios et nous avons des valeurs comme ceci. Donc nous avons comme une grise où nous avons différentes nombres qui correspondent au temps renseignement que vous pouvez attendre pour cette zone différente. Et maintenant nous voulons créer je veux dire bloc de cette grande zone fine. Donc ici, pour l'instant, si nous voulons subdivider la question pour vous peut-être pour couper comme ceci ou comme ceci et mais maintenant vous avez vous avez ceci pour vous que si vous couper dans un moyen vous avez une estimation du temps renseignement que vous pouvez attendre. Donc pour adresser donc j'ai dit d'assumer une grise avec la composition je veux dire une grande zone fine la composition depuis maintenant que nous supposons maintenant que nous avons un nombre fixé de processus. La question pour nous c'est de voir comment partager les différentes frames entre les processus que nous avons. Et la solution naturelle pour ceci c'est que si vous avez une grande zone fine la composition de l'image il y'a quelque chose dans la compétition c'est un problème dans la compétition c'est l'empathiement problème que naturellement c'est la solution pour le problème parce que si vous avez une image différente et vous avez un bloc différent vous pouvez juste considérer je veux dire le problème de ce problème de la balance ou le problème de la balance que vous avez c'est un problème c'est une solution naturelle qu'on peut utiliser et même si le problème n'a pas été dans la littérature nous avons plusieurs je veux dire c'un problème vous avez plusieurs jures que vous pouvez utiliser pour déclencher le problème mais on a formulé mais on a trouvé quelque chose dans la compétition ce n'est pas vraiment ce que je veux dire parce que c'est dans le début nous sommes un cloud et parce que c'est parce que c'est une philosophie nous avons un niveau différent de la compétition donc Q Blender n'est pas vraiment peut-être vraiment raconter je veux dire un processeur pour directement faire quelque chose Q Blender il faut juste créer et envoyer ce texte à un autre scheduler que nous avons maintenant vraiment décider d'où le task sera déployé donc nous avons ce que j'appelle une ressource d'oblivion sasse avec le software le software c'est logique et vous avez ce qui est presque la compétition dans l'architecture et ce complexif je veux dire la scheduler quand vous venez de la compétition classique je veux dire la compétition parallèle parce que vous n'avez vous n'avez pas vraiment le processeur vous pouvez juste contrôler une abstraction que pourrait correspondre à un processeur mais pas à l'un de les processeurs que vous espérez que c'est correspondant à donc parce que ceci nous sommes obligés de formuler le problème dans une manière différente donc nous pensons que une simple chose pour faire c'est que si si le scheduler est que que le scheduler est décédé nous pensons que si nous envoyons le task une chose pour réduire l'imbalance c'est juste de faire sure que si le processeur le scheduler met ce task ensemble ils vont apprendre presque à la même fois donc la question peut être juste de dire que si vous avez un processeur et ce est ce que nous formulez donc nous disons si vous avez un processeur juste essayez de créer des blocs pour faire sure que la différence entre le maximum et le minimum sera réduite et c'est je veux dire c'est pour moi parce que quand je veux dire qu'on a formulé tout ce travail nous avons trouvé que nous sommes revenus pour un problème bien étudiant dans le science que c'est le problème de rectangle où vous avez plusieurs solutions vous pouvez faire une partition selon la façon où vous voulez penser le problème de partition vous avez plusieurs solutions existantes donc nous avons trouvé beaucoup de solutions dans la littérature mais pour nous toutes ces solutions sont 2 régulaires c'est la façon où l'image est 2 régulaires pour l'instant ici vous avez 2 dimensions vous avez toujours je veux dire pour la meilleure solution que nous avons trouvé nous avons toujours 2 dimensions ou vous faites une partition et vous n'avez pas une partition et vous faites une partition donc nous voulions penser sur quelque chose qui pourrait être plus intéressante et la solution qui est proposée c'est une algorithme sa idée c'est c'un principle de l'image vous imaginez votre image c'est c'est comme une surface que vous voulez construire et votre objectif c'est de prendre un rectangle que chaque conversion à l'avantage d'avantage que vous compute et vous vous vous ressentez un rectangle comme ça donc vous mettez un break c'est une algorithme mais c'est c'est ce qu'on peut et on essaye il y a des règles que nous avons mais c'est c'est un algorithme maintenant c'est ce que nous avons des résultats donc nous avons un type comme ça que nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous nous c'est la choice du premier break, c'est un problème très fort et fort, donc nous ne sommes pas trop différents pour ce qu'il existe dans la littérature, mais nous pouvons proposer de plus diverses partitions. Donc l'algorithme n'est clairement pas optimale, mais en tout cas, nous avons un effet vertical quand vous avez une grande image, parce que le plus vous avez une couche dans les breaks, le plus la couche est plus et plus verticale. Donc ce sont des phénomènes que nous avons identifiés et qui nous ont trouvé qu'on devrait s'améliorer dans l'algorithme. Donc il y a un grand challenge pour nous. Par exemple, l'une est de faire des analyses comparatives entre l'algorithme que nous proposons et les approches relatives. Les approches relatives sont lesquelles je l'ai vu avant, parce que c'est un problème très étudiant, comme je le disais, finalement, dans les sciences computers. Mais ce qui est déjà sûr, c'est que c'est un résultat très intéressant comparé à ce que nous avons maintenant, pour l'image automatique de la composition. Nous pensons d'une façon différente pour l'intégrer dans l'algorithme et nous ne voulons, bien sûr, d'improver l'algorithme. Je vais laisser Clément. Juste, comme conclusion, nous aimerons dire aux gens qui nous croient et nous aimerons répéter que nous sommes encore fortement en confiance dans l'open source et dans la communauté et le fact que les gens utilisent notre plateforme nous aide à nous encourager et à imposer l'open source communauté. Merci tout le monde. Si vous voulez essayer notre site Blender, vous pouvez aller à Blender.carano.com et si vous êtes plus intéressé dans la compétition générale, vous pouvez utiliser la compétition.carano.com Si vous réagissez, vous avez 3 heures de rondeur que vous pouvez utiliser pour essayer votre plateforme et si vous avez une question, vous pouvez nous atteindre tout après la présentation ou vous pouvez nous contacter par email si vous préférez. Merci.