Skip to content
This repository has been archived by the owner on Feb 3, 2021. It is now read-only.

Feature: nvBLAS and OpenBLAS plugin #539

Merged
merged 10 commits into from
May 16, 2018

Conversation

jafreck
Copy link
Member

@jafreck jafreck commented May 3, 2018

@@ -1,4 +1,159 @@
FROM aztk/spark:v0.1.0-spark1.6.3-base
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not build on top of this base image any more?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a difference between base and gpu images in the Spark building process now (the added -Pnetlib-lgpl). We could build all images with that profile -- that might be the best option here.

#!/bin/bash
apt-get update
apt-get install -y libopenblas-base
update-alternatives --config libblas.so.3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it make sense to just bake this into the dockerfile?

target_role=PluginTargetRole.All,
execute="openblas.sh",
files=[
PluginFile("openblas.sh", os.path.join(dir_path, "openblas.sh")),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make more sense to have a generic apt-get install plugin?

The way I did this for the conda package installer was to let users specify an array of packages as a parameter. The main issue in this case though is the update-alternatives command which is non-standard... not sure how to get around that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update alternatives is borderline not necessary since we are running in a container with a known environment and I already know that there aren't any alternatives present. It's mostly there as a precaution. I think that a general apt-get install plugin would be great, but I don't know if it should be in place of this.

@jafreck jafreck changed the title Feature: OpenBLAS plugin Feature: nvBLAS and OpenBLAS plugin May 10, 2018
dir_path = os.path.dirname(os.path.realpath(__file__))

class NvBLASPlugin(PluginConfiguration):
def __init__(self):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use a function here instead of a class as we talked

def NvBLASPlugin():
    return PluginConfiguration(...)


dir_path = os.path.dirname(os.path.realpath(__file__))

class OpenBLASPlugin(PluginConfiguration):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same

@jafreck jafreck added this to the v0.8.0 milestone May 16, 2018
@jafreck jafreck merged commit 603a413 into Azure:master May 16, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants