{"id":115783,"date":"2024-05-15T02:59:19","date_gmt":"2024-05-15T00:59:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v"},"modified":"2024-05-15T02:59:19","modified_gmt":"2024-05-15T00:59:20","slug":"opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v","title":{"rendered":"Vortex 2.1 er offentliggjort, en \u00e5ben GPGPU baseret p\u00e5 RISC-V arkitektur","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Den nye version af Vortex-projektet er offentliggjort, som udvikler en \u00e5ben GPGPU baseret p\u00e5 RISC-V instruktionss\u00e6ttet, designet til parallelle beregninger ved hj\u00e6lp af OpenCL API og SIMT (Single Instruction, Multiple Threads) udf\u00f8relsesmodel. Projektet kan ogs\u00e5 anvendes til forskning inden for 3D-grafik og til udvikling af nye GPU-arkitekturer. Skemaer, beskrivelser af hardwareblokke i Verilog, simulator, drivere og tilh\u00f8rende projektdokumentation distribueres under Apache 2.0 licensen.     <\/p>\n<p>GPGPU'en er baseret p\u00e5 en standard RISC-V ISA, udvidet med nogle ekstra instruktioner, der er n\u00f8dvendige for at underst\u00f8tte GPU-funktioner og tr\u00e5dadministration. \u00c6ndringer i RISC-V instruktionss\u00e6ttet er minimaliseret, og eksisterende vektorinstruktioner anvendes s\u00e5 vidt muligt. En lignende tilgang anvendes i projektet RV64X, som ogs\u00e5 udvikler en \u00e5ben GPU baseret p\u00e5 RISC-V teknologier.    <\/p>\n<p><center><img decoding=\"async\" alt=\"Vortex 2.1 er offentliggjort, en \u00e5ben GPGPU baseret p\u00e5 RISC-V arkitektur \" src=\"\/wp-content\/uploads\/2024\/05\/9c4aeaf2db642809b7a6cf81b210833a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>        <\/p>\n<p>Hovedfunktioner i Vortex:  <\/p>\n<ul>\n<li class=\"l\"> Underst\u00f8ttelse af 32- og 64-bit RISC-V instruktionss\u00e6t arkitekturer RV32IMF og RV64IMAFD.  <\/li>\n<li class=\"l\"> Konfigurerbart antal kerner, opgaveblokke (warps) og tr\u00e5de.  <\/li>\n<li class=\"l\"> Konfigurerbart antal ALU, FPU, LSU og SFU for hver kerne.    <\/li>\n<li class=\"l\"> Konfigurerbar udgivelsesbredde af pipelinen (pipeline issue width).  <\/li>\n<li class=\"l\"> Valgfri delt hukommelse og niveauerne L1, L2 og L3 caches.    <\/li>\n<li class=\"l\"> Underst\u00f8ttelse af OpenCL 1.2 specifikationen.  <\/li>\n<li class=\"l\"> Mulighed for implementering p\u00e5 Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 og Xilinx Versal VCK5000.  <\/li>\n<li class=\"l\"> Udvidede instruktioner: &#171;tex&#187; til at accelerere behandling af teksturer, vx_rast til styring af rasterisering, vx_rop til behandling af fragmenter, dybder og gennemsigtighed, vx_imadd til at udf\u00f8re operationen &#171;gang med og l\u00e6g til&#187;, vx_wspawn, vx_tmc og vx_bar til at aktivere instruktionsfronten og tr\u00e5de i dem (wavefront, s\u00e6t af tr\u00e5de, udf\u00f8rt parallelt af SIMD Engine), vx_split og vx_join.  <\/li>\n<li class=\"l\"> Underst\u00f8ttelse af det mellemliggende shader repr\u00e6sentation SPIR-V implementeres gennem overs\u00e6ttelse til OpenCL.      <\/li>\n<li class=\"l\"> Til udvikling af applikationer tilbydes et v\u00e6rkt\u00f8jss\u00e6t, der inkluderer tilpassede versioner af PoCL (kompilator og runtime OpenCL), LLVM\/Clang, GCC og Binutils til arbejde med Vortex.     <\/li>\n<li class=\"l\"> Der underst\u00f8ttes simulering af chipens drift ved hj\u00e6lp af Verilator (Verilog-simulator), RTLSIM (RTL-simulering) og SimX (software-simulering).        <\/li>\n<\/ul>\n<p>Til grafik er Vortex ved at udvikle en \u00e5ben GPU kaldet Skybox, som underst\u00f8tter Vulkan grafik API'et. Prototypen Skybox, bygget p\u00e5 Altera Stratix 10 FPGA og omfatter 32 kerner (512 tr\u00e5de), har opn\u00e5et en fyldehastighed p\u00e5 3,7 gigapixler per sekund (29,4 gigatransaktioner per sekund) ved en klokfrekvens p\u00e5 230 MHz. Det bem\u00e6rkes, at dette er den f\u00f8rste \u00e5bne GPU med b\u00e5de software- og hardwareimplementering, der underst\u00f8tter Vulkan.         <\/p>\n<p>Blandt \u00e6ndringerne i Vortex 2.1:  <\/p>\n<ul>\n<li class=\"l\"> API'et spawn_taskgroups er tilf\u00f8jet til at starte kerner, der bruger lokal hukommelse og underst\u00f8tter hukommelsesbarrierer.\n<li class=\"l\"> Et nyt udvidelse til oprettelse af flytbare (relocatable) bin\u00e6re kerner er foresl\u00e5et.\n<li class=\"l\"> I hukommelsesadministrations-API'et er der tilf\u00f8jet opkald til vx_mem_reserve, vx_mem_access og vx_mem_address.\n<li class=\"l\"> Et nyt runtime API vx_check_occupancy er tilf\u00f8jet.\n<li class=\"l\"> En mulighed for at kontrollere OpenCL-test p\u00e5 lokal GPU er tilf\u00f8jet i GPU-driveren.\n<li class=\"l\"> OpenCL-test, der bruger lokal hukommelse (psum, sgemm2, sgemm3), er tilf\u00f8jet.\n<li class=\"l\"> Bibliotekerne libc og librt er tilpasset specifikt til Vortex.\n<li class=\"l\"> St\u00f8tte til sammensmeltning af n\u00e6rliggende frie hukommelsesblokke (memory coalescing) er tilf\u00f8jet.\n<li class=\"l\"> Mikroarkitekturen er blevet optimeret.\n<li class=\"l\"> Et nyt bygge-script er tilf\u00f8jet, som adskiller kildefiler fra bygge-mappen.      <\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61173\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Vortex, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 GPGPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 RISC-V, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c API OpenCL \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f SIMT (Single Instruction, Multiple Threads). \u041f\u0440\u043e\u0435\u043a\u0442 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 3D-\u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438 \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043d\u043e\u0432\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440 GPU. \u0421\u0445\u0435\u043c\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Verilog, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":115784,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115783","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Vortex, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 GPGPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 RISC-V, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c API OpenCL \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d Vortex 2.1, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 GPGPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b RISC-V | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Vortex, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 GPGPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 RISC-V, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c API OpenCL \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-05-15T00:59:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-05-15T00:59:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vortex 2.1 er offentliggjort, en \u00e5ben GPGPU baseret p\u00e5 RISC-V arkitektur | ProHoster","description":"Den nye version af Vortex-projektet er offentliggjort, som udvikler en \u00e5ben GPGPU baseret p\u00e5 RISC-V instruktionss\u00e6ttet, designet til parallelle beregninger ved hj\u00e6lp af OpenCL API og udf\u00f8relsesmodellen.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d Vortex 2.1, \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 GPGPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b RISC-V | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Vortex, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 GPGPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 RISC-V, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c API OpenCL \u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/opublikovan-vortex-2-1-otkrytyj-gpgpu-na-baze-arhitektury-risc-v","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-05-15T00:59:20+00:00","article:modified_time":"2024-05-15T00:59:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115783","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 00:23:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 00:23:19","updated":"2026-01-23 00:23:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/115783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=115783"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/115783\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/115784"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=115783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=115783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=115783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}