Skip to content

Commit

Permalink
Add docker selection
Browse files Browse the repository at this point in the history
  • Loading branch information
hipudding authored and FFFrog committed May 31, 2024
1 parent b024b02 commit 0846eb4
Show file tree
Hide file tree
Showing 3 changed files with 213 additions and 65 deletions.
192 changes: 143 additions & 49 deletions _static/actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,132 @@ $(document).ready(function () {
});
}

var cann_version_select = $('#cann-version');
$.update_version_list = function () {
var npu_item = $('#row-npu').find(".selected");
var npu_type = npu_item.attr("id").split("-")[1];
$.get_options = function () {
var options = {};
$('#col-values').children().each(function () {
var elem = $(this).find(".selected").each(function () {
var id = $(this).attr("id").split("-");
var category = id[0];
var value = id[1];
if (value == "version") {
if (category == "cann")
value = $(this).val();
else
value = $(this).data('version');
}
options[category] = value;
});
});
return options;
}

$.update_os_verions = function () {
$("#row-os_version").find("div").not(":first").remove();
var options = $.get_options();
// update os_versions
var versions = os_versions[options['os']];
var version_length = versions.length;
for (var i = 0; i < version_length; i++) {
var version = versions[i];
$('#row-os_version').append('<div class="values-element block-' + version_length + ' install-os_version" id="os_version-' + version + '">' + version + '</div>');
}
$("#row-os_version div:last-child").addClass("selected");
}

$.update_python_versions = function () {
$("#row-python_version").find("div").not(":first").remove();
// update python_versions
var versions = python_versions;
var version_length = versions.length;
for (var i = 0; i < version_length; i++) {
var version = versions[i];
$('#row-python_version').append('<div class="values-element block-' + version_length + ' install-python_version" id="python_version-' + version + '">' + version + '</div>');
}
$("#row-python_version div:last-child").addClass("selected");
}

$.change_options_visible = function () {
var options = $.get_options();
if (options['install_type'] == 'direct') {
$("#header-os_version").hide();
$("#header-python_version").hide();
$("#row-os_version").hide();
$("#row-python_version").hide();
} else {
$("#header-os_version").show();
$("#header-python_version").show();
$("#row-os_version").show();
$("#row-python_version").show();
}
}

$has_key = function (obj, path) {
const keys = path.split('|');
for (let key of keys) {
if (!obj || !obj.hasOwnProperty(key)) {
return false;
}
obj = obj[key];
}
return true;
}

$.update_cann_versions = function () {
// reset table.
var cann_version_select = $('#cann-version');
cann_version_select.empty();
cann_version_select.append(new Option("Select CANN Version", "na"));
$.each(package_info, function (key, value) {
if (npu_type in value)
cann_version_select.append(new Option("CANN: " + key, key));
});
$.reset_selection(cann_version_select);
$('#driver-version').text("Driver");
$('#firmware-version').text("Firmware");

var options = $.get_options();
// not using docker.
if (options['install_type'] == "direct") {
// update select list.
$.each(package_info, function (key, value) {
if (options['npu'] in value)
cann_version_select.append(new Option("CANN: " + key, key));
});
} else {
$.each(package_info, function (key, value) {
// not all version has a docker image.
var find_key = options['npu'] + "|docker|" + options['os'] + "|" + options['os_version'] + "|" + options['python_version'];
if ($has_key(value, find_key)) {
cann_version_select.append(new Option("CANN: " + key, key));
}
});
}
cann_version_select.trigger('change');

}

$.update_version_list();
$.update_os_verions();
$.update_python_versions();
$.change_options_visible();
$.update_cann_versions();

$("#col-values").on("click", ".values-element", function () {
fields = $(this).attr("id").split("-");
if (fields[1] == "version")
id = $(this).attr("id");
fields = id.split("-");
if (fields[1] == "cann_version")
return;

$.reset_selection($(this));
$(this).addClass("selected");
$.update_version_list();
$.gen_content($(this));

// if os changed, update os version.
if (fields[0] == "os") {
$.update_os_verions();
}

// if install type changed, update options visible.
if (fields[0] == "install_type") {
$.change_options_visible();
}

// update_cann_version if any option changed.
$.update_cann_versions();
});

$("#col-values").on("change", "select", function () {
Expand All @@ -43,21 +144,18 @@ $(document).ready(function () {
$('#driver-version').addClass("selected");
$('#firmware-version').addClass("selected");

var npu_item = $('#row-npu').find(".selected");
var npu_type = npu_item.attr("id").split("-")[1];
var cann_version = $(this).val();
var driver_version = package_info[cann_version][npu_type].driver_version;
var firmware_version = package_info[cann_version][npu_type].firmware_version;
var options = $.get_options();
var driver_version = package_info[options['cann']][options['npu']].driver_version;
var firmware_version = package_info[options['cann']][options['npu']].firmware_version;
$('#driver-version').text("Driver: " + driver_version);
$('#driver-version').data("version", driver_version);
$('#firmware-version').text("Firmware: " + firmware_version);
$('#firmware-version').data("version", firmware_version);
}
$.gen_content($(this));
$.gen_content();
});


$.gen_content = function (elem) {
$.gen_content = function () {
// instructions need all options selected.
if ($('#cann-version').val() != "na") {
$('#install-instructions').show();
Expand All @@ -66,21 +164,7 @@ $(document).ready(function () {
return
}

var options = {};
elem.parent().parent().children().each(function () {
var elem = $(this).find(".selected").each(function () {
var id = $(this).attr("id").split("-");
var category = id[0];
var value = id[1];
if (value == "version") {
if (category == "cann")
value = $(this).val();
else
value = $(this).data('version');
}
options[category] = value;
});
});
var options = $.get_options();

// install os dependency.
if (options['os'] == 'ubuntu') {
Expand All @@ -103,25 +187,35 @@ $(document).ready(function () {
parts = cann_url.split("/");
var cann_name = parts[parts.length - 1];


// download and install driver
$('#install_drvier').html('wget "' + driver_url + '"<br>sudo sh ' + driver_name + ' --full --install-for-all');

// download and install firmware
$('#install_firmware').html('wget "' + firmware_url + '"<br>sudo sh ' + firmware_name + ' --full');

// download and install cann
$('#install_cann').html('wget "' + cann_url + '"<br>sh ' + cann_name + ' --install');

if (kernel_url == null) {
$('#install_kernel_section').hide();
}
else {
parts = kernel_url.split("/");
var kernel_name = parts[parts.length - 1];
$('#install_kernel_section').show();
// download and install kernel
$('#install_kernel').html('wget "' + kernel_url + '"<br>sh ' + kernel_name + ' --install');
if (options['install_type'] == 'direct') {
// download and install cann
$('#install_cann').html('wget "' + cann_url + '"<br>sh ' + cann_name + ' --install');

// download and install kernel if exist.
if (kernel_url == null) {
$('#install_kernel_section').hide();
}
else {
parts = kernel_url.split("/");
var kernel_name = parts[parts.length - 1];
$('#install_kernel_section').show();
// download and install kernel
$('#install_kernel').html('wget "' + kernel_url + '"<br>sh ' + kernel_name + ' --install');
}

$('#use_docker_section').hide();
$('#install_cann_section').show();
} else {
var docker_image = package_info[options['cann']][options['npu']]['docker'][options['os']][options['os_version']][options['python_version']];
$('#use_docker').html('docker pull ' + docker_image);
$('#install_cann_section').hide();
$('#use_docker_section').show();
}
}
});
56 changes: 44 additions & 12 deletions _static/package_info.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,21 @@ const package_info = {
},
aarch64: {
driver_url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Ascend HDK/Ascend HDK 23.0.3/Ascend-hdk-910b-npu-driver_23.0.3_linux-aarch64.run',
},
docker: {
ubuntu: {
'22.04': {
'3.8': 'dockerimage38',
'3.9': 'dockerimage39'
}
},
openeuler: {
'22.03': {
'3.8': 'dockerimage38',
'3.9': 'dockerimage39',
'3.10': 'dockerimage310'
}
}
}
},
'310p': {
Expand All @@ -31,7 +46,7 @@ const package_info = {
}
}
},
'8.0.RC2.alpha001': {
'8.0.RC2.alpha001': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL V100R001C18B800TP015/Ascend-cann-toolkit_8.0.RC2.alpha001_linux-x86_64.run'
},
Expand Down Expand Up @@ -63,7 +78,7 @@ const package_info = {
}
}
},
'8.0.RC1.beta1': {
'8.0.RC1.beta1': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN 8.0.RC1/Ascend-cann-toolkit_8.0.RC1_linux-x86_64.run'
},
Expand All @@ -83,7 +98,7 @@ const package_info = {
}
}
},
'8.0.RC1.alpha003': {
'8.0.RC1.alpha003': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL V100R001C17SPC703/Ascend-cann-toolkit_8.0.RC1.alpha003_linux-x86_64.run'
},
Expand Down Expand Up @@ -115,7 +130,7 @@ const package_info = {
}
}
},
'8.0.RC1.alpha002': {
'8.0.RC1.alpha002': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL V100R001C17SPC702/Ascend-cann-toolkit_8.0.RC1.alpha002_linux-x86_64.run'
},
Expand Down Expand Up @@ -147,7 +162,7 @@ const package_info = {
}
}
},
'8.0.RC1.alpha001': {
'8.0.RC1.alpha001': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL V100R001C17SPC701/Ascend-cann-toolkit_8.0.RC1.alpha001_linux-x86_64.run'
},
Expand Down Expand Up @@ -179,7 +194,7 @@ const package_info = {
}
}
},
'7.0.0.beta1': {
'7.0.0.beta1': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN 7.0.0/Ascend-cann-toolkit_7.0.0_linux-x86_64.run'
},
Expand Down Expand Up @@ -211,7 +226,7 @@ const package_info = {
}
}
},
'7.0.0.alpha003': {
'7.0.0.alpha003': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL V100R001C15SPC703/Ascend-cann-toolkit_7.0.0.alpha003_linux-x86_64.run'
},
Expand Down Expand Up @@ -243,7 +258,7 @@ const package_info = {
}
}
},
'7.0.0.alpha002': {
'7.0.0.alpha002': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL V100R001C15SPC702/Ascend-cann-toolkit_7.0.0.alpha002_linux-x86_64.run'
},
Expand Down Expand Up @@ -275,7 +290,7 @@ const package_info = {
}
}
},
'7.0.RC1.beta1': {
'7.0.RC1.beta1': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN 7.0.RC1/Ascend-cann-toolkit_7.0.RC1_linux-x86_64.run'
},
Expand Down Expand Up @@ -307,7 +322,7 @@ const package_info = {
}
}
},
'6.3.RC2.alpha005': {
'6.3.RC2.alpha005': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN 6.3.RC2/Ascend-cann-toolkit_6.3.RC2_linux-x86_64.run'
},
Expand All @@ -327,7 +342,7 @@ const package_info = {
}
}
},
'6.3.RC1.alpha003': {
'6.3.RC1.alpha003': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN 6.3.RC1/Ascend-cann-toolkit_6.3.RC1_linux-x86_64.run'
},
Expand All @@ -346,7 +361,7 @@ const package_info = {
}
}
},
'6.0.RC1.alpha005': {
'6.0.RC1.alpha005': {
x86_64: {
url: 'https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN6.0.RC1/Ascend-cann-toolkit_6.0.RC1_linux-x86_64.run'
},
Expand All @@ -366,3 +381,20 @@ const package_info = {
}
}
};

const os_versions = {
ubuntu: [
'20.04',
'22.04'
],
openeuler: [
'20.03',
'22.03'
]
};

const python_versions = [
'3.8',
'3.9',
'3.10'
];
Loading

0 comments on commit 0846eb4

Please sign in to comment.