{"id":2182,"date":"2019-05-23T09:24:45","date_gmt":"2019-05-23T13:24:45","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=2182"},"modified":"2024-05-17T14:50:57","modified_gmt":"2024-05-17T18:50:57","slug":"automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/","title":{"rendered":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs"},"content":{"rendered":"\n<p><strong>Author:<\/strong>&nbsp;Keno Fischer and Elliot Saba<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">One of the fundamental changes that has enabled the steady progress of machine learning techniques over the past several years has been the availability of vast amounts of compute power to train and optimize machine learning models. <\/h4>\n\n\n\n<p><strong>Excerpt:<\/strong><\/p>\n\n\n\n<p>Google&#8217;s Cloud TPUs are a promising new hardware architecture for machine learning workloads. They have powered many of Google&#8217;s milestone machine learning achievements in recent years. Google has now made TPUs available for general use on their cloud platform and, as of very recently, has opened them up further to allow use by&nbsp;<strong><em>non-TensorFlow frontends<\/em><\/strong>. We describe a method and implementation for offloading suitable sections of Julia programs to TPUs via this new API and the Google XLA compiler. Our method is able to completely fuse the forward pass of a VGG19 model expressed as a Julia program into a single TPU executable to be offloaded to the device. Our method composes well with existing compiler-based automatic differentiation techniques on Julia code, and we are thus able to also automatically obtain the VGG19 backwards pass and similarly offload it to the TPU. Targeting TPUs using our compiler, we are able to evaluate the VGG19 forward pass on a batch of 100 images in 0.23s, which compares favorably to the 52.4s required for the original model on the CPU. Our implementation is less than 1000 lines of Julia, with no TPU specific changes made to the core Julia compiler or any other Julia packages.<\/p>\n\n\n\n<p>Read the full paper here:&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/arxiv.org\/pdf\/1810.09868.pdf\" target=\"_blank\">https:\/\/arxiv.org\/pdf\/1810.09868.pdf<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"429\" height=\"363\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png\" alt=\"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs\" class=\"wp-image-4570 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png 429w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article-400x338.png 400w\" data-sizes=\"(max-width: 429px) 100vw, 429px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 429px; aspect-ratio: 429\/363;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong><em>About Julia Computing<\/em><\/strong><\/p>\n\n\n\n<p><em><a href=\"https:\/\/julialang.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Julia<\/a><\/em><em>&nbsp;is the fastest modern open-source language for data science, machine learning and scientific computing. Julia provides the functionality, ease-of-use and intuitive syntax of R, Python, Matlab, SAS or Stata combined with the speed, capacity and performance of C, C++ or Java. Julia also provides parallel and distributed computing capabilities out of the box, and unlimited scalability with minimal effort.<\/em><\/p>\n\n\n\n<p><em>About the authors: Keno Fischer is Julia Computing co-founder and CTO, and Eliot Saba is the Senior Research Engineer. Keno Fischer can be contacted at<\/em> <em>&lt;keno at juliacomputing.com&gt;<\/em><\/p>\n\n\n\n<p><em>Julia Computing<\/em>&nbsp;<em>provides products, training and consulting to make Julia easy to use, easy to deploy and easy to scale in your organization. Email us:&nbsp;<a href=\"mailto:info@juliacomputing.com\" target=\"_blank\" rel=\"noreferrer noopener\">info@juliacomputing.com<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google&#8217;s Cloud TPUs are a promising new hardware architecture for machine learning workloads. They have powered many of Google&#8217;s milestone machine learning achievements in recent years. Google has now made TPUs available for general use on their cloud platform and as of very recently has opened them up further to allow use by non-TensorFlow frontends. <\/p>\n","protected":false},"author":89,"featured_media":4570,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"footnotes":""},"categories":[348,343,338,352,344],"tags":[851,979,806,564,977,923,852,924,978],"contributors-categories":[13653],"class_list":{"0":"post-2182","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-julia-development","8":"category-programing-languages","9":"category-ibkr-quant-news","10":"category-quant-north-america","11":"category-quant-regions","12":"tag-algo-trading","13":"tag-cloud","14":"tag-data-science","15":"tag-google","16":"tag-julia","17":"tag-julia-programming","18":"tag-machine-learning","19":"tag-tensorflow","20":"tag-tpu","21":"contributors-categories-julia-computing"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs<\/title>\n<meta name=\"description\" content=\"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs. In this paper, we present initial work to compile generalJulia code to TPU\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/2182\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatic Full Compilation of Julia Programs Excerpt\" \/>\n<meta property=\"og:description\" content=\"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs. In this paper, we present initial work to compile generalJulia code to TPU\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-23T13:24:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-17T18:50:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png\" \/>\n\t<meta property=\"og:image:width\" content=\"429\" \/>\n\t<meta property=\"og:image:height\" content=\"363\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Keno Fischer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Keno Fischer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Keno Fischer\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/5d26582da1285cdfac55b32cc4112776\"\n\t            },\n\t            \"headline\": \"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs\",\n\t            \"datePublished\": \"2019-05-23T13:24:45+00:00\",\n\t            \"dateModified\": \"2024-05-17T18:50:57+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/\"\n\t            },\n\t            \"wordCount\": 397,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/Julia-Language-Article.png\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"cloud\",\n\t                \"Data Science\",\n\t                \"Google\",\n\t                \"Julia\",\n\t                \"Julia programming\",\n\t                \"Machine Learning\",\n\t                \"TensorFlow\",\n\t                \"TPU\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Julia Development\",\n\t                \"Programming Languages\",\n\t                \"Quant\",\n\t                \"Quant North America\",\n\t                \"Quant Regions\"\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/\",\n\t            \"name\": \"Automatic Full Compilation of Julia Programs Excerpt\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/Julia-Language-Article.png\",\n\t            \"datePublished\": \"2019-05-23T13:24:45+00:00\",\n\t            \"dateModified\": \"2024-05-17T18:50:57+00:00\",\n\t            \"description\": \"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs. In this paper, we present initial work to compile generalJulia code to TPU\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/Julia-Language-Article.png\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/Julia-Language-Article.png\",\n\t            \"width\": 429,\n\t            \"height\": 363,\n\t            \"caption\": \"Julia Programming Language\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/5d26582da1285cdfac55b32cc4112776\",\n\t            \"name\": \"Keno Fischer\",\n\t            \"sameAs\": [\n\t                \"https:\\\/\\\/juliacomputing.com\\\/\"\n\t            ],\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/julia-computing\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs","description":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs. In this paper, we present initial work to compile generalJulia code to TPU","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/2182\/","og_locale":"en_US","og_type":"article","og_title":"Automatic Full Compilation of Julia Programs Excerpt","og_description":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs. In this paper, we present initial work to compile generalJulia code to TPU","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/","og_site_name":"IBKR Campus US","article_published_time":"2019-05-23T13:24:45+00:00","article_modified_time":"2024-05-17T18:50:57+00:00","og_image":[{"width":429,"height":363,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png","type":"image\/png"}],"author":"Keno Fischer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Keno Fischer","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/"},"author":{"name":"Keno Fischer","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/5d26582da1285cdfac55b32cc4112776"},"headline":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs","datePublished":"2019-05-23T13:24:45+00:00","dateModified":"2024-05-17T18:50:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/"},"wordCount":397,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png","keywords":["Algo Trading","cloud","Data Science","Google","Julia","Julia programming","Machine Learning","TensorFlow","TPU"],"articleSection":["Julia Development","Programming Languages","Quant","Quant North America","Quant Regions"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/","name":"Automatic Full Compilation of Julia Programs Excerpt","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png","datePublished":"2019-05-23T13:24:45+00:00","dateModified":"2024-05-17T18:50:57+00:00","description":"Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs. In this paper, we present initial work to compile generalJulia code to TPU","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/automatic-full-compilation-of-julia-programs-and-ml-models-to-cloud-tpus\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png","width":429,"height":363,"caption":"Julia Programming Language"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/5d26582da1285cdfac55b32cc4112776","name":"Keno Fischer","sameAs":["https:\/\/juliacomputing.com\/"],"url":"https:\/\/www.interactivebrokers.com\/campus\/author\/julia-computing\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/Julia-Language-Article.png","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/2182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/89"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=2182"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/2182\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/4570"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=2182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=2182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=2182"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=2182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}