Skip to content

Instantly share code, notes, and snippets.

@alexwoolford
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexwoolford/18a6f7fe3ad47055bb63 to your computer and use it in GitHub Desktop.
Save alexwoolford/18a6f7fe3ad47055bb63 to your computer and use it in GitHub Desktop.
Statistical models on the GPU: a performance comparison.
library(gputools)
library(e1071)
library(fueleconomy)
data(vehicles)
vehicles$id <- NULL
vehicles$hwy <- NULL
vehicles <- as.data.frame(unclass(vehicles))
vehicles <- vehicles[complete.cases(vehicles), ]
system.time(model.lm <- lm(cty ~ ., data = vehicles))
# user system elapsed
#317.727 0.093 318.022
system.time(model.gpuLm <- gpuLm(cty ~ ., data = vehicles))
# user system elapsed
# 3.231 0.676 3.909
system.time(model.glm <- glm(cty ~ ., data = vehicles))
# user system elapsed
# 573.386 0.289 574.071
system.time(model.gpuGlm <- gpuGlm(cty ~ ., data = vehicles))
# user system elapsed
# 18.063 2.653 20.724
system.time(model.svm <- svm(cty ~ ., data = vehicles))
# user system elapsed
# 150.502 0.791 151.343
vehicles$cty <- NULL
system.time(predict(model.lm, vehicles))
# user system elapsed
# 4.214 0.000 4.215
system.time(predict(model.gpuLm, vehicles))
# user system elapsed
# 0.460 0.000 0.459
system.time(predict(model.glm, vehicles))
# user system elapsed
# 4.224 0.000 4.223
system.time(predict(model.gpuGlm, vehicles))
# user system elapsed
# 4.311 0.001 4.313
system.time(predict(model.svm, vehicles))
# user system elapsed
# 39.584 0.005 39.599
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment