{"id":204453,"date":"2024-04-04T10:38:08","date_gmt":"2024-04-04T14:38:08","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=204453"},"modified":"2024-04-04T10:38:35","modified_gmt":"2024-04-04T14:38:35","slug":"trading-using-gpu-based-rapids-libraries-from-nvidia-part-i","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/","title":{"rendered":"Trading using GPU-based RAPIDS Libraries from Nvidia &#8211; Part I"},"content":{"rendered":"\n<p><em>The article &#8220;Trading using GPU-based RAPIDS Libraries from Nvidia&#8221; first appeared on <a href=\"https:\/\/blog.quantinsti.com\/nvidia-gpu-rapids-libraries-trading\/\">QuantInsti<\/a> blog.<\/em><\/p>\n\n\n\n<p>Don&#8217;t be deceived by the past. In the rapidly evolving domains of data science and financial machine learning, quicker calculations and more effective processing techniques are becoming more and more important. These days, a new set of open-source software libraries called RAPIDS is gaining popularity.<\/p>\n\n\n\n<p>RAPIDS leverages GPU capabilities to expedite data science tasks. This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks. Last but not least, as usual, I&#8217;m going to offer a trading strategy based on the RAPIDS suite!<\/p>\n\n\n\n<p>We cover:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Understanding RAPIDS Libraries<\/li>\n\n\n\n<li>RAPIDS Libraries Installation Guide<\/li>\n\n\n\n<li>Practical Examples of the RAPIDS Libraries<\/li>\n\n\n\n<li>A trading strategy using machine learning and the GPU<\/li>\n\n\n\n<li>Limitations of the Up-to-Date Libraries<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"understanding-rapids-libraries\">Understanding RAPIDS Libraries<\/h2>\n\n\n\n<p>A new approach to speeding up data science and machine learning procedures is provided by the open-source software libraries collectively known as RAPIDS. It is necessary to use all RAPIDS libraries to fully take advantage of the computational and data analysis capabilities of GPUs.<\/p>\n\n\n\n<p>Let\u2019s look at the main RAPIDS Librarieshere:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>cuDF:<\/strong>&nbsp;A GPU-accelerated data frame manipulation and operation tool similar to Pandas but optimised for GPUs. It has a Pandas-like user interface and accelerates processing through GPU parallelism.<\/li>\n\n\n\n<li><strong>cuML:<\/strong>&nbsp;This library is used for machine learning tasks. It provides GPU-accelerated algorithms for various tasks, such as clustering, regression, and classification. These algorithms are made to improve performance without compromising accuracy, which makes them suitable for use with large-scale datasets.<\/li>\n\n\n\n<li><strong>cuPy:<\/strong>&nbsp;Identical in appearance to NumPy, cuPy is intended to be a GPU-accelerated array library that enables fast GPU array operations. It mimics NumPy&#8217;s functionality to seamlessly transfer array-based code to GPU architectures, increasing computational speed.<\/li>\n<\/ul>\n\n\n\n<p>These libraries are combined to create a single system that helps with data manipulation, analysis, and machine learning tasks by utilizing the parallel processing power of GPUs. This acceleration makes it possible to develop models and analyze data more quickly, which is helpful for tasks involving big datasets. It shortens processing times as well.<\/p>\n\n\n\n<p>To make the most of GPU-accelerated computing, researchers, machine learning experts, and data scientists must grasp the nuances of the RAPIDS libraries. These libraries provide high-performance computing capabilities along with the ability to speed up and simplify a multitude of data processing tasks.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"rapids-libraries-installation-guide\">RAPIDS Libraries Installation Guide<\/h2>\n\n\n\n<p>The RAPIDS libraries can be installed using the following steps:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-1-system-requirements\">Step 1: System requirements<\/h3>\n\n\n\n<p>Please confirm that your system satisfies the requirements before proceeding with the installation. It is imperative to have a compatible GPU because RAPIDS libraries are optimized for NVIDIA GPUs. It only works in Linux-based operating systems. In case you have Windows, you can use&nbsp;<a href=\"https:\/\/learn.microsoft.com\/es-es\/windows\/wsl\/install\">WSL2<\/a>&nbsp;to have Ubuntu as a virtual machine. Verify that the Linux version on your machine is supported (such as Ubuntu or CentOS). Installing NVIDIA drivers that are compatible with your GPU is also required.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-2-installing-conda\">Step 2: Installing Conda<\/h3>\n\n\n\n<p>The installation and management of RAPIDS libraries require the use of Conda, a package manager and environment manager. Installing Miniconda or Anaconda, two Python distribution platforms that support Conda, should be your first step.<\/p>\n\n\n\n<p>Follow the installation guidelines on the official website to download and install Miniconda or Anaconda.<\/p>\n\n\n\n<p>For RAPIDS, create a new Conda environment to keep the setup tidy and isolated. The following command can be used to create an environment with the name &#8220;rapids&#8221; or any other desired name:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conda create -n rapids python=3.10<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/9ce70cd89adae5d196e1e58f889d8a7d#file-create_environment-sh\">create_environment.sh\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-3-install-the-rapids-libraries\">Step 3: Install the RAPIDS Libraries<\/h3>\n\n\n\n<p>Use the following command to activate the Conda environment after it has been created:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conda activate rapids<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/4cd20d6280ee70584b0151f521a0e623#file-activate_environment-sh\">activate_environment.sh\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p>Next, use the following command to install RAPIDS libraries:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conda install -c rapidsai -c nvidia -c conda-forge -c defaults rapids=0.21 python=3.10<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/84673edc050a697e59a18fed168da920#file-install_rapids-sh\">install_rapids.sh\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p>This command will install the RAPIDS suite in the specified Conda environment. The rapids=0.21 refers to the version of RAPIDS being installed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"step-4-verifying-the-installation\">Step 4: Verifying the Installation<\/h3>\n\n\n\n<p>Once the installation process is complete, you can verify that RAPIDS libraries have been successfully installed in your Conda environment. Open a Python interpreter within the Conda environment and import the desired libraries (e.g., cuDF, cuML, cuPy) to ensure they are accessible and functioning properly.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import cudf\nimport cuml\nimport cupy<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/f5d46af8272e0610b314683cf5d25b6e#file-checking_libraries_installation-py\">checking_libraries_installation.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p>If the import statements execute without errors, it indicates the successful installation of RAPIDS libraries.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"practical-examples-of-the-rapids-libraries\">Practical Examples of the RAPIDS Libraries<\/h2>\n\n\n\n<p>Let\u2019s understand how to use the 3 libraries from above. The examples will give a glimpse of what you can do with these libraries. As you\u2019ll discover, they act very similar to numpy, pandas and scikit-learn. So you will not get confused at all while using them. They\u2019re easy to handle and you\u2019ll start coding quickly.<\/p>\n\n\n\n<p><em>Ready to have some fun?<\/em><br>Let&#8217;s explore!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cupy-examples\">cuPy Examples<\/h3>\n\n\n\n<p>We now create two random arrays with 10,000 observations. Then we multiply them.<\/p>\n\n\n\n<p><strong>Example 1:&nbsp;<\/strong>In this example, we create 10,000 random numbers and dot-multiply them to get a unique value as the result.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Import the cupy library\nimport cupy as cp\n\n# Create 10,000 random numbers\nx = cp.random.rand(10000)\ny = cp.random.rand(10000)\n\n# Perform the multiplication of both arrays\nresult = cp.dot(x, y)\n\n# Print the result\nprint(result)<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/8968507e961e33b03c37f1761ab56a94#file-cupy_example_01-py\">cupy_example_01.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p><strong>Example 2:\u00a0<\/strong>Here we create two 2&#215;2 matrices and compute the multiplication of both. We then print the resulting matrix.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Import the corresponding library\nimport cupy as cp\n\n# Define matrices using CuPy arrays\nmatrix_a = cp.array([[1, 2], [3, 4]])\nmatrix_b = cp.array([[5, 6], [7, 8]])\n\n# Perform a matrix multiplication using CuPy\nresult = cp.matmul(matrix_a, matrix_b)\nprint(\"Result of Matrix Multiplication:\")\nprint(result)<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/1afff5354512ba5fd9d0410c2d37dca2#file-cupy_example_02-py\">cupy_example_02.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cudf-examples\">cuDF Examples<\/h3>\n\n\n\n<p><strong>Example 1:\u00a0<\/strong>Next, we create a GPU-based dataframe with 2 columns A and B and 3 observations each and sum both columns and the result we save it in column C. So simple, right?<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Import the corresponding library\nimport cudf\n\n# Create a GPU DataFrame\ndata = {'A': [1, 2, 3], 'B': [4, 5, 6]}\ndf = cudf.DataFrame(data)\n\n# Perform data manipulation\ndf['C'] = df['A'] + df['B']\nprint(df)<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/aca5975b3cc9dfb43c53589c0f3907e4#file-cudf_example_02-py\">cudf_example_02.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p><strong>Example 2:\u00a0<\/strong>Here we create a pandas dataframe obtained with a dictionary. Then we upload the pandas-based dataframe to the GPU memory using the cudf library. Then we print the dataframe.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Import the libraries\nimport pandas as pd\nimport cudf\n\n# Creating a Pandas DataFrame\npandas_data = {\n    'A': [1, 2, 3, 4, 5],\n    'B': [10, 20, 30, 40, 50],\n    'C': ['a', 'b', 'c', 'd', 'e']\n}\n\npandas_df = pd.DataFrame(pandas_data)\n\n# Display the Pandas DataFrame\nprint(\"Pandas DataFrame:\")\nprint(pandas_df)\n\n# Convert Pandas DataFrame to cuDF DataFrame\ncudf_df = cudf.DataFrame.from_pandas(pandas_df)\n\n# Display the cuDF DataFrame\nprint(\"cuDF DataFrame:\")\nprint(cudf_df)<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/4d70d9b5d98f9b88447de9456af59f50#file-cudf_example_02-py\">cudf_example_02.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cuml-examples\">cuML Examples<\/h3>\n\n\n\n<p><strong>Example 1:\u00a0<\/strong>We provide in this example two cupy arrays with 1000 random numbers each and use them to fit a k-means clustering algorithm with the cuml library. We then predict the labels of the features as per the model.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Import the libraries\nfrom cuml.cluster import KMeans\nimport cudf\n\n# Generate sample data\ndata = cudf.DataFrame()\ndata['feature1'] = cp.random.rand(1000)\ndata['feature2'] = cp.random.rand(1000)\n\n# Perform KMeans clustering\nkmeans = KMeans(n_clusters=3)\nkmeans.fit(data)\nlabels = kmeans.predict(data)\nprint(labels)<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/2d3d8732cd8194907bec022a6fac9f63#file-cuml_example_01-py\">cuml_example_01.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p><strong>Example 2:\u00a0<\/strong>Finally, in this example, we create random input and prediction features using the cuml library. Then, we split the data into train and test data and next perform a random forest classifier to the data. Finally we predict the X test data and show only 10 predictions.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Import the libraries\nimport pandas as pd\nimport cudf\nimport cuml\nfrom cuml.datasets import make_classification\nfrom cuml.model_selection import train_test_split\n\n# Generating a sample Pandas DataFrame\nX, y = make_classification(n_samples=1000, n_features=4, n_classes=2, random_state=42)\n\n# Splitting the data into training and testing sets\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n\n# Creating and fitting a Random Forest Classifier using cuML\nrf_classifier = cuml.ensemble.RandomForestClassifier(n_estimators=100)\nrf_classifier.fit(X_train, y_train)\n\n# Predicting on the test set\ny_pred = rf_classifier.predict(X_test)\n\n# Displaying sample predictions\nprint(\"Sample predictions:\")\nprint(y_pred[:10])<\/pre>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/quantra-go-algo\/aa9547e726f5adb0d0f3a71d12e35d86#file-cuml_example_02-py\">cuml_example_02.py\u00a0<\/a>hosted with \u2764 by\u00a0<a href=\"https:\/\/github.com\/\">GitHub<\/a><\/p>\n\n\n\n<p><em>Did you notice?<\/em><br>It\u2019s like using CPU-based libraries! So smooth the coding, right?<\/p>\n\n\n\n<p><em>Stay tuned for the second part to learn about trading strategy using machine learning and the GPU.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks. <\/p>\n","protected":false},"author":825,"featured_media":76258,"comment_status":"open","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,343,349,338],"tags":[6922,7091,5041,852,10383,1225,16963,1224,595,16962,15357],"contributors-categories":[13654],"class_list":{"0":"post-204453","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-programing-languages","9":"category-python-development","10":"category-ibkr-quant-news","11":"tag-anaconda","12":"tag-conda","13":"tag-linux","14":"tag-machine-learning","15":"tag-miniconda","16":"tag-numpy","17":"tag-nvidia-gpus","18":"tag-pandas","19":"tag-python","20":"tag-rapids-libraries","21":"tag-ubuntu","22":"contributors-categories-quantinsti"},"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.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Trading using GPU-based RAPIDS Libraries from Nvidia &#8211; Part I<\/title>\n<meta name=\"description\" content=\"This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks.\" \/>\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\/204453\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trading using GPU-based RAPIDS Libraries from Nvidia - Part I\" \/>\n<meta property=\"og:description\" content=\"This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-04T14:38:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-04T14:38:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"978\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jos\u00e9 Carlos Gonz\u00e1les Tanaka\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jos\u00e9 Carlos Gonz\u00e1les Tanaka\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 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:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Jos\u00e9 Carlos Gonz\u00e1les Tanaka\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/f56024231fae4f14b0df92817cf8c884\"\n\t            },\n\t            \"headline\": \"Trading using GPU-based RAPIDS Libraries from Nvidia &#8211; Part I\",\n\t            \"datePublished\": \"2024-04-04T14:38:08+00:00\",\n\t            \"dateModified\": \"2024-04-04T14:38:35+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/\"\n\t            },\n\t            \"wordCount\": 1084,\n\t            \"commentCount\": 0,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/02\\\/machine-learning-touch.jpg\",\n\t            \"keywords\": [\n\t                \"Anaconda\",\n\t                \"conda\",\n\t                \"Linux\",\n\t                \"Machine Learning\",\n\t                \"Miniconda\",\n\t                \"NumPy\",\n\t                \"NVIDIA GPUs\",\n\t                \"Pandas\",\n\t                \"Python\",\n\t                \"RAPIDS Libraries\",\n\t                \"Ubuntu\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/\",\n\t            \"name\": \"Trading using GPU-based RAPIDS Libraries from Nvidia - Part I | IBKR Campus US\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/02\\\/machine-learning-touch.jpg\",\n\t            \"datePublished\": \"2024-04-04T14:38:08+00:00\",\n\t            \"dateModified\": \"2024-04-04T14:38:35+00:00\",\n\t            \"description\": \"This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/ibkr-quant-news\\\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/02\\\/machine-learning-touch.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/02\\\/machine-learning-touch.jpg\",\n\t            \"width\": 978,\n\t            \"height\": 550,\n\t            \"caption\": \"Machine Learning\"\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\\\/f56024231fae4f14b0df92817cf8c884\",\n\t            \"name\": \"Jos\u00e9 Carlos Gonz\u00e1les Tanaka\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/jose-carlos-gonzales-tanaka\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Trading using GPU-based RAPIDS Libraries from Nvidia &#8211; Part I","description":"This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks.","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\/204453\/","og_locale":"en_US","og_type":"article","og_title":"Trading using GPU-based RAPIDS Libraries from Nvidia - Part I","og_description":"This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/","og_site_name":"IBKR Campus US","article_published_time":"2024-04-04T14:38:08+00:00","article_modified_time":"2024-04-04T14:38:35+00:00","og_image":[{"width":978,"height":550,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg","type":"image\/jpeg"}],"author":"Jos\u00e9 Carlos Gonz\u00e1les Tanaka","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jos\u00e9 Carlos Gonz\u00e1les Tanaka","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/#article","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/"},"author":{"name":"Jos\u00e9 Carlos Gonz\u00e1les Tanaka","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/f56024231fae4f14b0df92817cf8c884"},"headline":"Trading using GPU-based RAPIDS Libraries from Nvidia &#8211; Part I","datePublished":"2024-04-04T14:38:08+00:00","dateModified":"2024-04-04T14:38:35+00:00","mainEntityOfPage":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/"},"wordCount":1084,"commentCount":0,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg","keywords":["Anaconda","conda","Linux","Machine Learning","Miniconda","NumPy","NVIDIA GPUs","Pandas","Python","RAPIDS Libraries","Ubuntu"],"articleSection":["Data Science","Programming Languages","Python Development","Quant"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/","url":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/","name":"Trading using GPU-based RAPIDS Libraries from Nvidia - Part I | IBKR Campus US","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/#primaryimage"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg","datePublished":"2024-04-04T14:38:08+00:00","dateModified":"2024-04-04T14:38:35+00:00","description":"This post will look at every aspect of RAPIDS, including its libraries, hardware specifications, setup guidelines, useful applications, and drawbacks.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/ibkr-quant-news\/trading-using-gpu-based-rapids-libraries-from-nvidia-part-i\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg","width":978,"height":550,"caption":"Machine Learning"},{"@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\/f56024231fae4f14b0df92817cf8c884","name":"Jos\u00e9 Carlos Gonz\u00e1les Tanaka","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/jose-carlos-gonzales-tanaka\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/02\/machine-learning-touch.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/204453","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\/825"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=204453"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/204453\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/76258"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=204453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=204453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=204453"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=204453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}